'use client'; import { useState, type ReactNode } from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { httpBatchLink } from '@trpc/client'; import superjson from 'superjson'; import { trpc } from '@/lib/trpc/client'; function makeTrpcClient() { return trpc.createClient({ links: [ httpBatchLink({ url: '/api/trpc', transformer: superjson, }), ], }); } export function Providers({ children }: { children: ReactNode }) { const [queryClient] = useState( () => new QueryClient({ defaultOptions: { queries: { staleTime: 30 * 1000, refetchOnWindowFocus: false, }, }, }), ); const [trpcClient] = useState(makeTrpcClient); return ( {children} ); }