"use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useState, type ReactNode } from "react"; interface ReactQueryProviderProps { children: ReactNode; } export function ReactQueryProvider({ children }: ReactQueryProviderProps): React.JSX.Element { // Create a stable QueryClient per component mount (one per app session) const [queryClient] = useState( () => new QueryClient({ defaultOptions: { queries: { // Don't refetch on window focus in a dashboard context refetchOnWindowFocus: false, // Stale time of 30s — short enough for live data, avoids hammering staleTime: 30_000, retry: 1, }, }, }) ); return {children}; }