altricade_portofolio/src/main.tsx
Заид Омар Медхат | Zaid Omar Medhat fab8983d5c
Some checks failed
Deploy / deploy (push) Failing after 5m27s
init
2026-07-09 12:21:21 +05:00

52 lines
1.4 KiB
TypeScript

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(
<QueryClientProvider client={queryClient}>
<RouterProvider router={router} />
<Toaster position="top-right" richColors />
</QueryClientProvider>,
)
}