import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import React from "react"; import ReactDOM from "react-dom/client"; import { createBrowserRouter, Navigate, RouterProvider } from "react-router-dom"; import { permissions } from "@mrp/shared"; import { AppShell } from "./components/AppShell"; import { ProtectedRoute } from "./components/ProtectedRoute"; import { AuthProvider } from "./auth/AuthProvider"; import { DashboardPage } from "./modules/dashboard/DashboardPage"; import { LoginPage } from "./modules/login/LoginPage"; import { CompanySettingsPage } from "./modules/settings/CompanySettingsPage"; import { CrmDetailPage } from "./modules/crm/CrmDetailPage"; import { CrmFormPage } from "./modules/crm/CrmFormPage"; import { CustomersPage } from "./modules/crm/CustomersPage"; import { VendorsPage } from "./modules/crm/VendorsPage"; import { GanttPage } from "./modules/gantt/GanttPage"; import { InventoryDetailPage } from "./modules/inventory/InventoryDetailPage"; import { InventoryFormPage } from "./modules/inventory/InventoryFormPage"; import { InventoryItemsPage } from "./modules/inventory/InventoryItemsPage"; import { ThemeProvider } from "./theme/ThemeProvider"; import "./index.css"; const queryClient = new QueryClient(); const router = createBrowserRouter([ { path: "/login", element: }, { element: , children: [ { element: , children: [ { path: "/", element: }, { element: , children: [{ path: "/settings/company", element: }], }, { element: , children: [ { path: "/crm/customers", element: }, { path: "/crm/customers/:customerId", element: }, { path: "/crm/vendors", element: }, { path: "/crm/vendors/:vendorId", element: }, ], }, { element: , children: [ { path: "/inventory/items", element: }, { path: "/inventory/items/:itemId", element: }, ], }, { element: , children: [ { path: "/crm/customers/new", element: }, { path: "/crm/customers/:customerId/edit", element: }, { path: "/crm/vendors/new", element: }, { path: "/crm/vendors/:vendorId/edit", element: }, ], }, { element: , children: [ { path: "/inventory/items/new", element: }, { path: "/inventory/items/:itemId/edit", element: }, ], }, { element: , children: [{ path: "/planning/gantt", element: }], }, ], }, ], }, { path: "*", element: }, ]); ReactDOM.createRoot(document.getElementById("root")!).render( );