index.tsx
1 'use client' 2 3 import { wagmiAdapter, projectId } from '@/config' 4 import { QueryClient, QueryClientProvider } from '@tanstack/react-query' 5 import { createAppKit } from '@reown/appkit/react' 6 import { mainnet, arbitrum, avalanche, base, optimism, polygon } from '@reown/appkit/networks' 7 import React, { type ReactNode } from 'react' 8 import { cookieToInitialState, WagmiProvider, type Config } from 'wagmi' 9 10 // Set up queryClient 11 const queryClient = new QueryClient() 12 13 if (!projectId) { 14 throw new Error('Project ID is not defined') 15 } 16 17 // Set up metadata 18 const metadata = { 19 name: 'Unk', 20 description: 'Distcom', 21 url: 'https://reown.com/appkit', // origin must match your domain & subdomain 22 icons: ['https://assets.reown.com/reown-profile-pic.png'] 23 } 24 25 // Create the modal 26 const modal = createAppKit({ 27 adapters: [wagmiAdapter], 28 projectId, 29 networks: [mainnet, arbitrum, avalanche, base, optimism, polygon], 30 defaultNetwork: mainnet, 31 metadata: metadata, 32 features: { 33 analytics: true, // Optional - defaults to your Cloud configuration 34 } 35 }) 36 37 function ContextProvider({ children, cookies }: { children: ReactNode; cookies: string | null }) { 38 const initialState = cookieToInitialState(wagmiAdapter.wagmiConfig as Config, cookies) 39 40 return ( 41 <WagmiProvider config={wagmiAdapter.wagmiConfig as Config} initialState={initialState}> 42 <QueryClientProvider client={queryClient}>{children}</QueryClientProvider> 43 </WagmiProvider> 44 ) 45 } 46 47 export default ContextProvider