mirror of
https://github.com/ChanX21/Sigillum
synced 2026-04-21 15:47:55 +00:00
30 lines
950 B
TypeScript
30 lines
950 B
TypeScript
'use client';
|
|
|
|
import { QueryClient, QueryClientProvider, useQueryClient } from '@tanstack/react-query';
|
|
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
|
|
import { useState, ReactNode } from 'react';
|
|
|
|
interface QueryProviderProps {
|
|
children: ReactNode;
|
|
}
|
|
export default function QueryProvider({ children }: QueryProviderProps) {
|
|
// Create a new QueryClient instance for each session
|
|
// This avoids sharing client state between users and requests
|
|
const [queryClient] = useState(() => new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 60 * 1000, // 1 minute
|
|
refetchOnWindowFocus: false,
|
|
retry: 1,
|
|
},
|
|
},
|
|
}));
|
|
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
{children}
|
|
{/* Only show ReactQueryDevtools in development */}
|
|
{process.env.NODE_ENV === 'development' && <ReactQueryDevtools initialIsOpen={false} />}
|
|
</QueryClientProvider>
|
|
);
|
|
}
|