import { MutationCache, QueryCache, QueryClient } from "@tanstack/react-query"; import { isUnauthorizedError } from "@/lib/trpc-errors"; export function createAppQueryClient(onUnauthorized: () => void) { const handleError = (error: unknown) => { if (isUnauthorizedError(error)) { onUnauthorized(); } }; return new QueryClient({ queryCache: new QueryCache({ onError: handleError }), mutationCache: new MutationCache({ onError: handleError }), defaultOptions: { queries: { staleTime: 30_000, retry: (failureCount, error) => { if (isUnauthorizedError(error)) return false; return failureCount < 1; }, }, }, }); }