import { defaultShouldDehydrateQuery, environmentManager, QueryClient } from '@tanstack/react-query' const STALE_TIME = 1000 * 60 * 5 function makeQueryClient() { return new QueryClient({ defaultOptions: { queries: { staleTime: STALE_TIME, }, dehydrate: { shouldDehydrateQuery: (query) => defaultShouldDehydrateQuery(query) || query.state.status === 'pending', shouldRedactErrors: () => false, }, }, }) } let browserQueryClient: QueryClient | undefined export function getQueryClient() { if (environmentManager.isServer()) return makeQueryClient() if (!browserQueryClient) browserQueryClient = makeQueryClient() return browserQueryClient }