Files
billing/lib/wallet-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

31 lines
887 B
TypeScript

'use client'
import * as React from 'react'
import { WagmiProvider } from 'wagmi'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit'
import '@rainbow-me/rainbowkit/styles.css'
import { walletConfig } from './wallet-config'
const queryClient = new QueryClient()
export default function WalletProviders({ children }: { children: React.ReactNode }) {
return (
<WagmiProvider config={walletConfig}>
<QueryClientProvider client={queryClient}>
<RainbowKitProvider
theme={darkTheme({
accentColor: '#ffffff',
accentColorForeground: '#0a0a0f',
borderRadius: 'medium',
overlayBlur: 'small',
})}
>
{children}
</RainbowKitProvider>
</QueryClientProvider>
</WagmiProvider>
)
}