v3/src/main.tsx
2025-03-19 10:28:50 +01:00

56 lines
1.4 KiB
TypeScript

import { StrictMode } from 'react'
import ReactDOM from 'react-dom/client'
import {
RouterProvider,
createRootRoute,
createRoute,
createRouter,
} from '@tanstack/react-router'
import '~/styles.css'
import reportWebVitals from '~/reportWebVitals.ts'
import { RootLayout } from '~/layouts/RootLayout'
import { RootPage } from '~/pages/Root'
const rootRoute = createRootRoute({
component: RootLayout,
})
const indexRoute = createRoute({
getParentRoute: () => rootRoute,
path: '/',
component: RootPage,
})
const routeTree = rootRoute.addChildren([indexRoute])
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(
<StrictMode>
<RouterProvider router={router} />
</StrictMode>,
)
}
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals()