import { lazy, Suspense } from "react"; import { createRoot } from "react-dom/client"; const root = createRoot(document.getElementById("root")!); import App from "./components/App"; import { createBrowserRouter, RouterProvider } from "react-router-dom"; import { ErrorPage } from "./components/shared/ErrorPage"; import "./shared/utils/i18n.util"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; const Settings = lazy(() => import("./components/Settings/Settings")); const Import = lazy(() => import("./components/Import/Import")); const Dashboard = lazy(() => import("./components/Dashboard/Dashboard")); const Search = lazy(() => import("./components/Search/Search")); const TabulatedContentContainer = lazy(() => import("./components/Library/TabulatedContentContainer")); const ComicDetailContainer = lazy(() => import("./components/ComicDetail/ComicDetailContainer").then(m => ({ default: m.ComicDetailContainer }))); const Volumes = lazy(() => import("./components/Volumes/Volumes")); const VolumeDetails = lazy(() => import("./components/VolumeDetail/VolumeDetail")); const WantedComics = lazy(() => import("./components/WantedComics/WantedComics")); const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false, refetchOnWindowFocus: false, }, }, }); const router = createBrowserRouter([ { path: "/", element: , errorElement: , children: [ { path: "/", element: }, { path: "dashboard", element: }, { path: "settings", element: }, { path: "library", element: , }, { path: "comic/details/:comicObjectId", element: , }, { path: "import", element: }, { path: "search", element: }, { path: "volume/details/:comicObjectId", element: }, { path: "volumes", element: }, { path: "wanted", element: }, ], }, ]); root.render( , );