56 lines
1.4 KiB
TypeScript
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()
|