101 lines
2.8 KiB
TypeScript
101 lines
2.8 KiB
TypeScript
// Initialize Eruda for mobile debugging in development
|
|
if (import.meta.env.DEV) {
|
|
import("eruda").then((eruda) => eruda.default.init());
|
|
}
|
|
|
|
import "./index.css";
|
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
import { createRoot } from "react-dom/client";
|
|
import { createBrowserRouter, RouterProvider } from "react-router";
|
|
import DefaultLayout from "./layout/DefaultLayout.tsx";
|
|
import MainPage from "./pages/MainPage.tsx";
|
|
import ModalContainer from "./components/ModalContainer.tsx";
|
|
import ComplexPage from "./pages/ComplexPage.tsx";
|
|
import FloorsPage from "./pages/FloorsPage.tsx";
|
|
import UnitTypesPage from "./pages/UnitTypesPage.tsx";
|
|
import AboutIRTHPage from "./pages/AboutIRTHPage.tsx";
|
|
import FavoritesPage from "./pages/FavoritesPage.tsx";
|
|
import SearchPage from "./pages/SearchPage.tsx";
|
|
import LayoutWithoutFooter from "./layout/LayoutWithoutFooter.tsx";
|
|
import { queryClient } from "./lib/queryClient.ts";
|
|
import AboutComplexPage from "./pages/AboutComplexPage.tsx";
|
|
import UnitTypeItemPage from "./pages/UnitTypeItemPage.tsx";
|
|
import TestPage from "./pages/TestPage.tsx";
|
|
import UnitPage from "./pages/UnitPage.tsx";
|
|
import PopupContainer from "./components/PopupContainer.tsx";
|
|
import VirtualTourPage from "./pages/VirtualTourPage.tsx";
|
|
import { APIProvider } from "@vis.gl/react-google-maps";
|
|
|
|
const route = createBrowserRouter([
|
|
{
|
|
element: <DefaultLayout />,
|
|
children: [
|
|
{
|
|
path: "/unit-types",
|
|
element: <UnitTypesPage />,
|
|
},
|
|
{
|
|
path: "/unit-types/:complexSlug/:unitTypeSlug",
|
|
element: <UnitTypeItemPage />,
|
|
},
|
|
{
|
|
path: "/about",
|
|
element: <AboutIRTHPage />,
|
|
},
|
|
{
|
|
path: "/favorites",
|
|
element: <FavoritesPage />,
|
|
},
|
|
{
|
|
path: "/search",
|
|
element: <SearchPage />,
|
|
},
|
|
{
|
|
path: "/complex/:complexName/about",
|
|
element: <AboutComplexPage />,
|
|
},
|
|
{
|
|
path: "/complex/:complexName/:unitNumber",
|
|
element: <UnitPage />,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
element: <LayoutWithoutFooter />,
|
|
children: [
|
|
{
|
|
path: "/",
|
|
element: <MainPage />,
|
|
},
|
|
{
|
|
path: "/complex/:complexName",
|
|
element: <ComplexPage />,
|
|
},
|
|
{
|
|
path: "/complex/:complexName/floors",
|
|
element: <FloorsPage />,
|
|
},
|
|
{
|
|
path: "/virtual-tour/:complexName/:unitTypeSlug",
|
|
element: <VirtualTourPage />,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: "/test",
|
|
element: <TestPage />,
|
|
},
|
|
]);
|
|
|
|
createRoot(document.getElementById("root")!).render(
|
|
<>
|
|
<APIProvider apiKey={import.meta.env.VITE_GOOGLE_MAP_API_KEY}>
|
|
<QueryClientProvider client={queryClient}>
|
|
<RouterProvider router={route} />
|
|
<PopupContainer />
|
|
<ModalContainer />
|
|
</QueryClientProvider>
|
|
</APIProvider>
|
|
</>
|
|
);
|