import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { persistQueryClient } from '@tanstack/react-query-persist-client'; import { MotionConfig } from 'framer-motion'; import { Suspense } from 'react'; import { DndProvider } from 'react-dnd'; import { HTML5Backend } from 'react-dnd-html5-backend'; import { HelmetProvider } from 'react-helmet-async'; import { AppRouter } from './AppRouter'; import { DialogProvider } from './DialogContext'; const queryClient = new QueryClient({ defaultOptions: { queries: { cacheTime: 1000 * 60 * 60 * 24, // 24 hours networkMode: 'offlineFirst', // It's a desktop app, so this isn't necessary refetchOnWindowFocus: false, }, }, }); const localStoragePersister = createSyncStoragePersister({ storage: window.localStorage, throttleTime: 1000, // 1 second }); persistQueryClient({ queryClient, persister: localStoragePersister, maxAge: 1000 * 60 * 60 * 24, // 24 hours }); export function App() { return ( {/**/} ); }