import ReactDOM from 'react-dom/client' import { RouterProvider, createRouter } from '@tanstack/react-router' import { QueryClientProvider } from '@tanstack/react-query' import { Toaster } from 'sonner' import { queryClient } from '@lib/query-client' import { routeTree } from './routeTree.gen' import '@/lib/i18n' import './styles.css' const initializeTheme = () => { const stored = localStorage.getItem('theme-storage') if (stored) { const { state } = JSON.parse(stored) const theme = state?.theme ?? 'dark' const resolved = theme === 'system' ? window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : theme document.documentElement.classList.add(resolved) } else { document.documentElement.classList.add('dark') } } initializeTheme() const router = createRouter({ routeTree, context: {}, defaultPreload: 'intent', scrollRestoration: true, defaultStructuralSharing: true, defaultPreloadStaleTime: 0, }) declare module '@tanstack/react-router' { interface Register { router: typeof router } } const rootElement = document.getElementById('app') if (rootElement && !rootElement.innerHTML) { const root = ReactDOM.createRoot(rootElement) root.render( , ) }