'use client'; import * as React from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ApiError } from '@/lib/api/client'; function createQueryClient() { return new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, retry: (failureCount, error) => { // Erros de negócio (400/401/403/404/409...) não se resolvem tentando de // novo — só vale re-tentar falha de rede/infra, e só uma vez. if (error instanceof ApiError) return false; return failureCount < 1; }, }, mutations: { retry: false, }, }, }); } export function QueryProvider({ children }: { children: React.ReactNode }) { const [client] = React.useState(createQueryClient); return {children}; }