"use client";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { WagmiProvider } from "wagmi";
import { RainbowKitProvider, lightTheme, darkTheme } from "@rainbow-me/rainbowkit";
import { ThemeProvider, useTheme } from "next-themes";
import { config } from "@/lib/wagmi";
import "@rainbow-me/rainbowkit/styles.css";
const queryClient = new QueryClient();
function RainbowKitWrapper({ children }: { children: React.ReactNode }) {
const { resolvedTheme } = useTheme();
const isDark = resolvedTheme === "dark";
return (
<RainbowKitProvider theme={isDark ? darkTheme({
accentColor: "#64748b",
accentColorForeground: "white",
borderRadius: "medium",
}) : lightTheme({
accentColor: "#64748b",
accentColorForeground: "white",
borderRadius: "medium",
})}>
{children}
</RainbowKitProvider>
);
}
export function Providers({ children }: { children: React.ReactNode }) {
return (
<ThemeProvider attribute="class" defaultTheme="light" enableSystem>
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<RainbowKitWrapper>
{children}
</RainbowKitWrapper>
</QueryClientProvider>
</WagmiProvider>
</ThemeProvider>
);
}