Files
assetx/webapp/components/Providers.tsx
default 2ee4553b71 init: 初始化 AssetX 项目仓库
包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、
antdesign(管理后台)、landingpage(营销落地页)、
数据库 SQL 和配置文件。
2026-03-27 11:26:43 +00:00

40 lines
1.1 KiB
TypeScript

"use client";
import { HeroUIProvider } from "@heroui/react";
import { AppProvider } from "@/contexts/AppContext";
import { WagmiProvider } from 'wagmi'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { ReactNode, useState } from "react";
import { config } from '@/lib/wagmi'
import { Toaster } from "sonner";
import { useContractRegistry } from '@/hooks/useContractRegistry'
// Populates the dynamic contract registry from /api/contracts.
// Must be inside QueryClientProvider.
function ContractRegistryInit() {
useContractRegistry()
return null
}
export function Providers({ children }: { children: ReactNode }) {
const [queryClient] = useState(() => new QueryClient())
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<ContractRegistryInit />
<HeroUIProvider>
<AppProvider>
<Toaster
position="top-right"
richColors
closeButton
duration={4000}
/>
{children}
</AppProvider>
</HeroUIProvider>
</QueryClientProvider>
</WagmiProvider>
);
}