App.tsx
4.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// vibe_erp web SPA route table.
//
// One <Routes> for the whole SPA: /login is open, everything else
// nests under <ProtectedRoute><AppLayout/>. The layout component
// renders <Outlet/> 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 { CreateLocationPage } from '@/pages/CreateLocationPage'
import { BalancesPage } from '@/pages/BalancesPage'
import { AdjustStockPage } from '@/pages/AdjustStockPage'
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 { AccountsPage } from '@/pages/AccountsPage'
import { JournalEntriesPage } from '@/pages/JournalEntriesPage'
export default function App() {
return (
<Routes>
<Route path="/login" element={<LoginPage />} />
<Route
path="/"
element={
<ProtectedRoute>
<AppLayout />
</ProtectedRoute>
}
>
<Route index element={<DashboardPage />} />
<Route path="users" element={<UsersPage />} />
<Route path="users/new" element={<CreateUserPage />} />
<Route path="users/:id" element={<UserDetailPage />} />
<Route path="roles" element={<RolesPage />} />
<Route path="items" element={<ItemsPage />} />
<Route path="items/new" element={<CreateItemPage />} />
<Route path="uoms" element={<UomsPage />} />
<Route path="partners" element={<PartnersPage />} />
<Route path="partners/new" element={<CreatePartnerPage />} />
<Route path="locations" element={<LocationsPage />} />
<Route path="locations/new" element={<CreateLocationPage />} />
<Route path="balances" element={<BalancesPage />} />
<Route path="balances/adjust" element={<AdjustStockPage />} />
<Route path="movements" element={<MovementsPage />} />
<Route path="sales-orders" element={<SalesOrdersPage />} />
<Route path="sales-orders/new" element={<CreateSalesOrderPage />} />
<Route path="sales-orders/:id" element={<SalesOrderDetailPage />} />
<Route path="purchase-orders" element={<PurchaseOrdersPage />} />
<Route path="purchase-orders/new" element={<CreatePurchaseOrderPage />} />
<Route path="purchase-orders/:id" element={<PurchaseOrderDetailPage />} />
<Route path="work-orders" element={<WorkOrdersPage />} />
<Route path="work-orders/new" element={<CreateWorkOrderPage />} />
<Route path="work-orders/:id" element={<WorkOrderDetailPage />} />
<Route path="shop-floor" element={<ShopFloorPage />} />
<Route path="accounts" element={<AccountsPage />} />
<Route path="journal-entries" element={<JournalEntriesPage />} />
</Route>
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
)
}