Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 3x 3x 3x | import { type ReactNode } from 'react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { ErrorBoundary } from '@/components/ErrorBoundary';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 60 * 1000, // 1 minute
gcTime: 5 * 60 * 1000, // 5 minutes
retry: 1,
refetchOnWindowFocus: true,
},
},
});
interface QueryProviderProps {
children: ReactNode;
}
export function QueryProvider({ children }: QueryProviderProps) {
const isDevelopment = import.meta.env.DEV;
return (
<QueryClientProvider client={queryClient}>
<ErrorBoundary context="QueryProvider">{children}</ErrorBoundary>
{isDevelopment ? <ReactQueryDevtools initialIsOpen={false} /> : null}
</QueryClientProvider>
);
}
/**
* Export queryClient for use in tests and manual cache operations
*/
export { queryClient };
|