"use client"; import { isServer, QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { ReactQueryStreamedHydration } from "@tanstack/react-query-next-experimental"; function makeQueryClient() { return new QueryClient({ defaultOptions: { queries: { staleTime: 60 * 1000, }, }, }); } let browserQueryClient: QueryClient | undefined = undefined; function getQueryClient() { if (isServer) { return makeQueryClient(); } else { if (!browserQueryClient) browserQueryClient = makeQueryClient(); return browserQueryClient; } } function QueryProviders({ children }: { children: React.ReactNode }) { const queryClient = getQueryClient(); const isProduction = process.env.NODE_ENV === "production"; return ( {children} {!isProduction && } ); } export { getQueryClient, QueryProviders };