Files
billing/lib/providers.tsx
zeekay 3ee28ad177 Fix SSR build: lazy-load wagmi/RainbowKit providers for static export
wagmi and RainbowKit access indexedDB/localStorage at module load time,
breaking Next.js static export prerendering. Split wallet providers into
a separate module loaded via React.lazy with a mount guard so they only
initialize in the browser.
2026-02-27 13:28:40 -08:00

25 lines
602 B
TypeScript

'use client'
import * as React from 'react'
// Lazy-load wallet providers to avoid SSR issues (indexedDB/localStorage not available during static export)
const WalletProviders = React.lazy(() => import('./wallet-providers'))
export function Providers({ children }: { children: React.ReactNode }) {
const [mounted, setMounted] = React.useState(false)
React.useEffect(() => {
setMounted(true)
}, [])
if (!mounted) {
return <>{children}</>
}
return (
<React.Suspense fallback={<>{children}</>}>
<WalletProviders>{children}</WalletProviders>
</React.Suspense>
)
}