fix: report ordering

This commit is contained in:
Nathnael
2026-08-13 09:29:09 +00:00
parent cb27d82e8f
commit 4ae63d4e5c
2 changed files with 770 additions and 545 deletions

View File

@@ -83,7 +83,6 @@ import TrainScheduleTrackPage from "./pages/trainScheduling/TrainScheduleTrackPa
import TrainSchedulingGlobalRulesPage from "./pages/trainScheduling/TrainSchedulingGlobalRulesPage";
import TradeAccessPage from "./pages/configuration/TradeAccessPage";
import ExchangeRateSettingsCard from "./pages/settings/ExchangeRateSettingsCard";
import ContractValidityPeriodsPage from "./pages/configuration/ContractValidityPeriodsPage";
import FirstMilePage from "./pages/operations/FirstMilePage";
import LastMilePage from "./pages/operations/LastMilePage";
import TrainDetailPage from "./pages/trains/TrainDetailPage";
@@ -211,12 +210,43 @@ const App = () => {
{/* Landing is per-user: /dashboard/overview is gated on overview:view, so
a fixed target strands anyone without that key on a blank page. */}
<Route path="/" element={<Navigate to={landingPath} replace />} />
<Route path="/dashboard" element={<Navigate to={landingPath} replace />} />
<Route
path="/dashboard"
element={<Navigate to={landingPath} replace />}
/>
<Route path="/dashboard" element={<DashboardShell />}>
<Route path="overview" element={<RequirePermission permission={FREIGHT_PERMS.overview.view}><OverviewPage /></RequirePermission>} />
<Route path="reports" element={<RequirePermission permission={FREIGHT_PERMS.reports.view}><ReportsIndexRedirect /></RequirePermission>} />
<Route path="reports/:reportKey" element={<RequirePermission permission={FREIGHT_PERMS.reports.view}><ReportPage /></RequirePermission>} />
<Route path="audit-logs" element={<RequirePermission permission={FREIGHT_PERMS.auditLog.view}><AuditLogsPage /></RequirePermission>} />
<Route
path="overview"
element={
<RequirePermission permission={FREIGHT_PERMS.overview.view}>
<OverviewPage />
</RequirePermission>
}
/>
<Route
path="reports"
element={
<RequirePermission permission={FREIGHT_PERMS.reports.view}>
<ReportsIndexRedirect />
</RequirePermission>
}
/>
<Route
path="reports/:reportKey"
element={
<RequirePermission permission={FREIGHT_PERMS.reports.view}>
<ReportPage />
</RequirePermission>
}
/>
<Route
path="audit-logs"
element={
<RequirePermission permission={FREIGHT_PERMS.auditLog.view}>
<AuditLogsPage />
</RequirePermission>
}
/>
{/* Dev/testing page for the mock AI booking assistant. */}
<Route
path="ai-booking-mock-test"
@@ -228,7 +258,14 @@ const App = () => {
/>
<Route path="profile" element={<MyProfilePage />} />
<Route path="booking-requests" element={<RequirePermission permission={FREIGHT_PERMS.bookings.view}><BookingRequestsPage /></RequirePermission>} />
<Route
path="booking-requests"
element={
<RequirePermission permission={FREIGHT_PERMS.bookings.view}>
<BookingRequestsPage />
</RequirePermission>
}
/>
<Route
path="payments"
element={
@@ -237,7 +274,14 @@ const App = () => {
</RequirePermission>
}
/>
<Route path="support" element={<RequirePermission permission={FREIGHT_PERMS.support.agentView}><SupportInboxPage /></RequirePermission>} />
<Route
path="support"
element={
<RequirePermission permission={FREIGHT_PERMS.support.agentView}>
<SupportInboxPage />
</RequirePermission>
}
/>
<Route
path="customers"
element={
@@ -278,7 +322,14 @@ const App = () => {
</RequirePermission>
}
/>
<Route path="booking-requests/new" element={<RequirePermission permission={FREIGHT_PERMS.bookings.view}><NewBookingPage /></RequirePermission>} />
<Route
path="booking-requests/new"
element={
<RequirePermission permission={FREIGHT_PERMS.bookings.view}>
<NewBookingPage />
</RequirePermission>
}
/>
<Route
path="wagon-cancellations"
element={
@@ -487,25 +538,195 @@ const App = () => {
path="bookings/:id/milestones"
element={<BookingMilestonesRedirect />}
/>
<Route path="warehouses" element={<RequirePermission permission={FREIGHT_PERMS.warehouses.view}><WarehouseListPage /></RequirePermission>} />
<Route path="warehouses/:id" element={<RequirePermission permission={FREIGHT_PERMS.warehouses.view}><WarehouseDetailPage /></RequirePermission>} />
<Route path="warehouse-inventory" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><WarehouseInventoryPage /></RequirePermission>} />
<Route path="import-warehouse" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ImportWarehouseFlowPage /></RequirePermission>} />
<Route path="export-warehouse" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ExportWarehouseFlowPage /></RequirePermission>} />
<Route path="arrival-queue" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ArrivalQueuePage /></RequirePermission>} />
<Route path="loading-queue" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><LoadingQueuePage /></RequirePermission>} />
<Route path="intercity" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><IntercityPage /></RequirePermission>} />
<Route path="trucks-on-site" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><TrucksOnSitePage /></RequirePermission>} />
<Route path="import-trucks" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ImportTrucksPage /></RequirePermission>} />
<Route path="container-returns" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ContainerReturnsPage /></RequirePermission>} />
<Route path="loaded-inventory" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><LoadedInventoryPage /></RequirePermission>} />
<Route path="dispatch-queue" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><DispatchQueuePage /></RequirePermission>} />
<Route path="export-djibouti-unloading" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><ExportDjiboutiUnloadingQueuePage /></RequirePermission>} />
<Route path="interchange-documents" element={<RequirePermission permission={FREIGHT_PERMS.interchangeDocuments.view}><InterchangeDocumentsPage /></RequirePermission>} />
<Route path="inventory-inquiry" element={<RequirePermission permission={FREIGHT_PERMS.warehouseInventory.view}><InventoryInquiryPage /></RequirePermission>} />
<Route path="warehouse-rules" element={<RequirePermission permission={[FREIGHT_PERMS.warehouseAllocationRules.view, FREIGHT_PERMS.warehouseFeeRules.view]}><WarehouseRulesPage /></RequirePermission>} />
<Route path="warehouse-fee-invoices" element={<RequirePermission permission={FREIGHT_PERMS.warehouseFeeInvoices.view}><WarehouseInvoicesPage /></RequirePermission>} />
<Route path="warehouse-dashboard" element={<RequirePermission permission={FREIGHT_PERMS.warehouseDashboard.view}><WarehouseDashboardPage /></RequirePermission>} />
<Route
path="warehouses"
element={
<RequirePermission permission={FREIGHT_PERMS.warehouses.view}>
<WarehouseListPage />
</RequirePermission>
}
/>
<Route
path="warehouses/:id"
element={
<RequirePermission permission={FREIGHT_PERMS.warehouses.view}>
<WarehouseDetailPage />
</RequirePermission>
}
/>
<Route
path="warehouse-inventory"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<WarehouseInventoryPage />
</RequirePermission>
}
/>
<Route
path="import-warehouse"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ImportWarehouseFlowPage />
</RequirePermission>
}
/>
<Route
path="export-warehouse"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ExportWarehouseFlowPage />
</RequirePermission>
}
/>
<Route
path="arrival-queue"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ArrivalQueuePage />
</RequirePermission>
}
/>
<Route
path="loading-queue"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<LoadingQueuePage />
</RequirePermission>
}
/>
<Route
path="intercity"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<IntercityPage />
</RequirePermission>
}
/>
<Route
path="trucks-on-site"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<TrucksOnSitePage />
</RequirePermission>
}
/>
<Route
path="import-trucks"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ImportTrucksPage />
</RequirePermission>
}
/>
<Route
path="container-returns"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ContainerReturnsPage />
</RequirePermission>
}
/>
<Route
path="loaded-inventory"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<LoadedInventoryPage />
</RequirePermission>
}
/>
<Route
path="dispatch-queue"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<DispatchQueuePage />
</RequirePermission>
}
/>
<Route
path="export-djibouti-unloading"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<ExportDjiboutiUnloadingQueuePage />
</RequirePermission>
}
/>
<Route
path="interchange-documents"
element={
<RequirePermission
permission={FREIGHT_PERMS.interchangeDocuments.view}
>
<InterchangeDocumentsPage />
</RequirePermission>
}
/>
<Route
path="inventory-inquiry"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseInventory.view}
>
<InventoryInquiryPage />
</RequirePermission>
}
/>
<Route
path="warehouse-rules"
element={
<RequirePermission
permission={[
FREIGHT_PERMS.warehouseAllocationRules.view,
FREIGHT_PERMS.warehouseFeeRules.view,
]}
>
<WarehouseRulesPage />
</RequirePermission>
}
/>
<Route
path="warehouse-fee-invoices"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseFeeInvoices.view}
>
<WarehouseInvoicesPage />
</RequirePermission>
}
/>
<Route
path="warehouse-dashboard"
element={
<RequirePermission
permission={FREIGHT_PERMS.warehouseDashboard.view}
>
<WarehouseDashboardPage />
</RequirePermission>
}
/>
<Route
path="operations/train-scheduling"
@@ -784,7 +1005,9 @@ const App = () => {
<Route
path="file-settings"
element={
<RequirePermission permission={FREIGHT_PERMS.settings.fileUpload.view}>
<RequirePermission
permission={FREIGHT_PERMS.settings.fileUpload.view}
>
<FileUploadSettingsPage />
</RequirePermission>
}
@@ -792,7 +1015,9 @@ const App = () => {
<Route
path="dropdown-settings"
element={
<RequirePermission permission={FREIGHT_PERMS.settings.dropdown.view}>
<RequirePermission
permission={FREIGHT_PERMS.settings.dropdown.view}
>
<DropdownSettingsPage />
</RequirePermission>
}
@@ -807,9 +1032,7 @@ const App = () => {
<Route
path="stamp-settings"
element={
<RequirePermission
permission={FREIGHT_PERMS.settings.stamp.view}
>
<RequirePermission permission={FREIGHT_PERMS.settings.stamp.view}>
<CompanyStampSettingsPage />
</RequirePermission>
}
@@ -878,7 +1101,9 @@ const App = () => {
<Route
path="configuration/exchange-rate"
element={
<RequirePermission permission={FREIGHT_PERMS.settings.exchangeRate.view}>
<RequirePermission
permission={FREIGHT_PERMS.settings.exchangeRate.view}
>
<div className="p-4">
<ExchangeRateSettingsCard />
</div>
@@ -946,4 +1171,3 @@ function LegacyGlEthiopiaClearanceRedirect() {
}
export default App;