"use client" import { QueryClient, QueryClientProvider } from "@tanstack/react-query" import { setTokenProvider } from "@lib/token-provider" import { Toaster } from "@ui/components/sonner" import { ThemeProvider } from "next-themes" import { type ReactNode, useEffect, useState } from "react" import { getStoredToken } from "@/lib/auth" export function Providers({ children }: { children: ReactNode }) { // One QueryClient for the app's lifetime; lazy init avoids re-creating it on // every render (and on Fast Refresh in dev). const [queryClient] = useState( () => new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, staleTime: 60 * 1000, }, }, }), ) useEffect(() => { setTokenProvider(getStoredToken) }, []) // The app is dark-only, matching apps/web (forcedTheme="dark"). return ( {children} ) }