30 lines
927 B
TypeScript
30 lines
927 B
TypeScript
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { ThemeModeProvider } from './contexts/ThemeContext';
|
|
import App from './App';
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 30 * 1000, // 30 seconds
|
|
gcTime: 10 * 60 * 1000, // keep cache 10 minutes
|
|
retry: 1,
|
|
refetchOnWindowFocus: false, // prevent refetch on every tab switch
|
|
},
|
|
},
|
|
});
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
<React.StrictMode>
|
|
<BrowserRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}>
|
|
<ThemeModeProvider>
|
|
<QueryClientProvider client={queryClient}>
|
|
<App />
|
|
</QueryClientProvider>
|
|
</ThemeModeProvider>
|
|
</BrowserRouter>
|
|
</React.StrictMode>,
|
|
);
|