50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import { StrictMode } from "react";
|
|
import ReactDOM from "react-dom/client";
|
|
import "./index.css";
|
|
import { createRouter, RouterProvider } from "@tanstack/react-router";
|
|
import socket from "./lib/socket.io";
|
|
// Import the generated route tree
|
|
import { routeTree } from "./routeTree.gen";
|
|
|
|
socket.connect();
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 1000 * 60 * 5,
|
|
retry: 0,
|
|
refetchOnWindowFocus: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
// Create a new router instance
|
|
const router = createRouter({
|
|
routeTree,
|
|
basepath: "/lst/app",
|
|
defaultPendingMinMs: 500,
|
|
context: {
|
|
queryClient,
|
|
},
|
|
});
|
|
|
|
// Register the router instance for type safety
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: typeof router;
|
|
}
|
|
}
|
|
|
|
// Render the app
|
|
const rootElement = document.getElementById("root")!;
|
|
if (!rootElement.innerHTML) {
|
|
const root = ReactDOM.createRoot(rootElement);
|
|
root.render(
|
|
<StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<RouterProvider router={router} />
|
|
</QueryClientProvider>
|
|
</StrictMode>,
|
|
);
|
|
}
|