import { QueryClient } from "@tanstack/react-query"; let clientQueryClient: QueryClient | undefined; const defaultOptions = { queries: { staleTime: 30 * 1000, refetchOnWindowFocus: false, }, }; export function getQueryClient(): QueryClient { if (typeof window === "undefined") { // Server: always create a new instance per request return new QueryClient({ defaultOptions }); } // Browser: singleton if (!clientQueryClient) { clientQueryClient = new QueryClient({ defaultOptions }); } return clientQueryClient; }