mirror of
https://github.com/Xevion/banner.git
synced 2025-12-10 20:06:32 -06:00
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import { StrictMode } from "react";
|
|
import ReactDOM from "react-dom/client";
|
|
import { RouterProvider, createRouter } from "@tanstack/react-router";
|
|
import { ThemeProvider } from "next-themes";
|
|
import { Theme } from "@radix-ui/themes";
|
|
|
|
// Import the generated route tree
|
|
import { routeTree } from "./routeTree.gen";
|
|
|
|
import "./styles.css";
|
|
import reportWebVitals from "./reportWebVitals.ts";
|
|
|
|
// Create a new router instance
|
|
const router = createRouter({
|
|
routeTree,
|
|
context: {},
|
|
defaultPreload: "intent",
|
|
scrollRestoration: true,
|
|
defaultStructuralSharing: true,
|
|
defaultPreloadStaleTime: 0,
|
|
});
|
|
|
|
// Register the router instance for type safety
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: typeof router;
|
|
}
|
|
}
|
|
|
|
// Render the app
|
|
const rootElement = document.getElementById("app");
|
|
if (rootElement && !rootElement.innerHTML) {
|
|
const root = ReactDOM.createRoot(rootElement);
|
|
root.render(
|
|
<StrictMode>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="system"
|
|
enableSystem
|
|
disableTransitionOnChange={false}
|
|
>
|
|
<Theme>
|
|
<RouterProvider router={router} />
|
|
</Theme>
|
|
</ThemeProvider>
|
|
</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();
|