'use client' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { ReactNode, useState } from 'react' interface QueryProviderProps { children: ReactNode } export function QueryProvider({ children }: QueryProviderProps) { const [queryClient] = useState( () => new QueryClient({ defaultOptions: { queries: { // With SSR, we usually want to set some default staleTime // above 0 to avoid refetching immediately on the client staleTime: 60 * 1000, // 1 minute retry: (failureCount, error: any) => { // Don't retry on 4xx errors if (error?.status >= 400 && error?.status < 500) { return false } // Retry up to 3 times for other errors return failureCount < 3 }, }, mutations: { retry: false, // Don't retry mutations by default }, }, }) ) return {children} }