45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import { StrictMode } from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
import { createBrowserRouter, RouterProvider } from "react-router-dom";
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
|
|
import App from "./App";
|
|
import "./index.css";
|
|
import AboutPage from "./pages/AboutPage";
|
|
import HomePage from "./pages/HomePage";
|
|
import NotFoundPage from "./pages/NotFoundPage";
|
|
import TRPCDemoPage from "./pages/TRPCDemoPage";
|
|
import { trpc, trpcClient } from "./lib/trpc";
|
|
|
|
// Create a React Query client
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 5 * 1000, // 5 seconds
|
|
},
|
|
},
|
|
});
|
|
|
|
const router = createBrowserRouter([
|
|
{
|
|
path: "/",
|
|
element: <App />,
|
|
children: [
|
|
{ index: true, element: <HomePage /> },
|
|
{ path: "about", element: <AboutPage /> },
|
|
{ path: "trpc-demo", element: <TRPCDemoPage /> },
|
|
],
|
|
},
|
|
{ path: "*", element: <NotFoundPage /> },
|
|
]);
|
|
|
|
createRoot(document.getElementById("root")!).render(
|
|
<StrictMode>
|
|
<trpc.Provider client={trpcClient} queryClient={queryClient}>
|
|
<QueryClientProvider client={queryClient}>
|
|
<RouterProvider router={router} />
|
|
</QueryClientProvider>
|
|
</trpc.Provider>
|
|
</StrictMode>
|
|
);
|