mirror of
https://github.com/hanzoai/billing.git
synced 2026-10-30 18:46:54 +00:00
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.
31 lines
887 B
TypeScript
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>
|
|
)
|
|
}
|