// vibe_erp web SPA route table. // // One for the whole SPA: /login is open, everything else // nests under . The layout component // renders for the active child route. // // **Why a flat route table.** v1 has 12 screens; nested routing // would just be ceremony. Future chunks can introduce nested // routes when, e.g., the Settings area gets sub-tabs. import { Navigate, Route, Routes } from 'react-router-dom' import { AppLayout } from '@/layout/AppLayout' import { ProtectedRoute } from '@/components/ProtectedRoute' import { LoginPage } from '@/pages/LoginPage' import { DashboardPage } from '@/pages/DashboardPage' import { UsersPage } from '@/pages/UsersPage' import { CreateUserPage } from '@/pages/CreateUserPage' import { UserDetailPage } from '@/pages/UserDetailPage' import { RolesPage } from '@/pages/RolesPage' import { ItemsPage } from '@/pages/ItemsPage' import { CreateItemPage } from '@/pages/CreateItemPage' import { UomsPage } from '@/pages/UomsPage' import { PartnersPage } from '@/pages/PartnersPage' import { CreatePartnerPage } from '@/pages/CreatePartnerPage' import { LocationsPage } from '@/pages/LocationsPage' import { BalancesPage } from '@/pages/BalancesPage' import { MovementsPage } from '@/pages/MovementsPage' import { SalesOrdersPage } from '@/pages/SalesOrdersPage' import { CreateSalesOrderPage } from '@/pages/CreateSalesOrderPage' import { SalesOrderDetailPage } from '@/pages/SalesOrderDetailPage' import { PurchaseOrdersPage } from '@/pages/PurchaseOrdersPage' import { CreatePurchaseOrderPage } from '@/pages/CreatePurchaseOrderPage' import { PurchaseOrderDetailPage } from '@/pages/PurchaseOrderDetailPage' import { WorkOrdersPage } from '@/pages/WorkOrdersPage' import { CreateWorkOrderPage } from '@/pages/CreateWorkOrderPage' import { WorkOrderDetailPage } from '@/pages/WorkOrderDetailPage' import { ShopFloorPage } from '@/pages/ShopFloorPage' import { JournalEntriesPage } from '@/pages/JournalEntriesPage' export default function App() { return ( } /> } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ) }