36 lines
789 B
TypeScript
36 lines
789 B
TypeScript
'use client';
|
|
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { useState } from 'react';
|
|
import { Toaster } from 'sonner';
|
|
|
|
type QueryProviderProps = {
|
|
children: React.ReactNode;
|
|
};
|
|
|
|
export function QueryProvider({ children }: QueryProviderProps) {
|
|
const [queryClient] = useState(() => new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 1,
|
|
refetchOnWindowFocus: false
|
|
}
|
|
}
|
|
}));
|
|
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
{children}
|
|
<Toaster
|
|
position="top-right"
|
|
closeButton
|
|
richColors
|
|
toastOptions={{
|
|
className: 'sonner-toast',
|
|
descriptionClassName: 'sonner-toast-description'
|
|
}}
|
|
/>
|
|
</QueryClientProvider>
|
|
);
|
|
}
|