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 { WarehouseDetailPage } from "./modules/inventory/WarehouseDetailPage"; import { WarehouseFormPage } from "./modules/inventory/WarehouseFormPage"; import { WarehousesPage } from "./modules/inventory/WarehousesPage"; import { SalesDetailPage } from "./modules/sales/SalesDetailPage"; import { SalesFormPage } from "./modules/sales/SalesFormPage"; import { SalesListPage } from "./modules/sales/SalesListPage"; 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: }, { path: "/inventory/warehouses", element: }, { path: "/inventory/warehouses/:warehouseId", element: }, ], }, { element: , children: [ { path: "/sales/quotes", element: }, { path: "/sales/quotes/:quoteId", element: }, { path: "/sales/orders", element: }, { path: "/sales/orders/:orderId", 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: "/sales/quotes/new", element: }, { path: "/sales/quotes/:quoteId/edit", element: }, { path: "/sales/orders/new", element: }, { path: "/sales/orders/:orderId/edit", element: }, ], }, { element: , children: [ { path: "/inventory/items/new", element: }, { path: "/inventory/items/:itemId/edit", element: }, { path: "/inventory/warehouses/new", element: }, { path: "/inventory/warehouses/:warehouseId/edit", element: }, ], }, { element: , children: [{ path: "/planning/gantt", element: }], }, ], }, ], }, { path: "*", element: }, ]); ReactDOM.createRoot(document.getElementById("root")!).render( );