diff --git a/apps/edr-freight-web/backoffice/src/components/bookings/BookingRequestsHeader.tsx b/apps/edr-freight-web/backoffice/src/components/bookings/BookingRequestsHeader.tsx index 3d6eeb398..85243be46 100644 --- a/apps/edr-freight-web/backoffice/src/components/bookings/BookingRequestsHeader.tsx +++ b/apps/edr-freight-web/backoffice/src/components/bookings/BookingRequestsHeader.tsx @@ -1,11 +1,10 @@ import type { ReactNode } from "react"; -import { Box, Button, Group, Paper, Stack, Text, ThemeIcon, Title } from "@mantine/core"; +import { Box, Button, Group, Paper, Stack, Text } from "@mantine/core"; import type { LucideIcon } from "lucide-react"; import { AlertTriangle, CheckCircle2, Clock, - Inbox, LayoutList, Plus, RefreshCw, @@ -55,76 +54,45 @@ export function BookingRequestsHeader({ const val = (n?: number) => (loading ? "—" : (n ?? 0)); return ( - - - - - - - - - - Operations - - - Booking Requests - - - Track every booking from submission through approval, payment, and - dispatch — prioritize what needs action. - - - - - - - - + + + + + - - - - - - + + + + + + - {tabs ? : null} - - + {tabs ? : null} + ); } diff --git a/apps/edr-freight-web/backoffice/src/components/overview/OverviewPageHeader.tsx b/apps/edr-freight-web/backoffice/src/components/overview/OverviewPageHeader.tsx index dbea71656..3c2e79f75 100644 --- a/apps/edr-freight-web/backoffice/src/components/overview/OverviewPageHeader.tsx +++ b/apps/edr-freight-web/backoffice/src/components/overview/OverviewPageHeader.tsx @@ -1,14 +1,5 @@ -import { - ActionIcon, - Box, - Group, - SegmentedControl, - Stack, - Text, - ThemeIcon, - Title, -} from "@mantine/core"; -import { Activity, RefreshCw } from "lucide-react"; +import { ActionIcon, Group, SegmentedControl, Text } from "@mantine/core"; +import { RefreshCw } from "lucide-react"; import type { OverviewRange } from "@/types/overview"; @@ -29,40 +20,6 @@ function formatRelativeTime(iso: string | undefined) { return new Date(iso).toLocaleString(); } -/** Decorative line-art locomotive + rails — faint brand tint on the right. */ -function TrainArtwork() { - return ( - - - - - - - - - - - - - - - - - ); -} - interface OverviewPageHeaderProps { range: OverviewRange; onRangeChange: (range: OverviewRange) => void; @@ -79,59 +36,31 @@ export function OverviewPageHeader({ isRefreshing, }: OverviewPageHeaderProps) { return ( - - - - - - - - - - - Freight Backoffice · Live - - - - Operations Overview - - - Real-time freight performance · updated {formatRelativeTime(generatedAt)} - - - - - onRangeChange(value as OverviewRange)} - data={RANGE_OPTIONS} - size="sm" - radius="lg" - color="green" - /> - - - - + + + Updated {formatRelativeTime(generatedAt)} + + + onRangeChange(value as OverviewRange)} + data={RANGE_OPTIONS} + size="sm" + radius="lg" + color="green" + /> + + + - + ); } diff --git a/apps/edr-freight-web/backoffice/src/pages/bookings/NewBookingPage.tsx b/apps/edr-freight-web/backoffice/src/pages/bookings/NewBookingPage.tsx index 04c6a421d..38be6dd31 100644 --- a/apps/edr-freight-web/backoffice/src/pages/bookings/NewBookingPage.tsx +++ b/apps/edr-freight-web/backoffice/src/pages/bookings/NewBookingPage.tsx @@ -21,7 +21,6 @@ import { Textarea, TextInput, ThemeIcon, - Title, Tooltip, } from "@mantine/core"; import { @@ -380,47 +379,16 @@ export default function NewBookingPage() { ]} /> - {/* Hero */} - - - - - - - - - New booking · Staff - - - Create freight booking - - - Capture cargo details, container lines, and routing — saved as a draft and pushed - into the approval workflow. - - - - - - + + + {/* LEFT — form */} diff --git a/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchBoardPage.tsx b/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchBoardPage.tsx index f5dd76e33..029c33ae2 100644 --- a/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchBoardPage.tsx +++ b/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchBoardPage.tsx @@ -13,14 +13,12 @@ import { Stack, Text, ThemeIcon, - Title, } from "@mantine/core"; import { AlertTriangle, ArrowRight, CalendarDays, Inbox, - LayoutGrid, Package, RefreshCw, Ruler, @@ -323,82 +321,38 @@ export default function BatchBoardPage() { - {/* Hero — clean white */} - - - - - - - - - - Allocation · Live - - - - - Batch board - - - Active schedules — open a card to see EAT 3-hour batch windows, bookings, - and live wagon allocation. - - - - - + + + - - - - - - + + + + + {isLoading ? ( diff --git a/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchScheduleDetailPage.tsx b/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchScheduleDetailPage.tsx index 520d6cb08..772bd4d32 100644 --- a/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchScheduleDetailPage.tsx +++ b/apps/edr-freight-web/backoffice/src/pages/trainScheduling/BatchScheduleDetailPage.tsx @@ -33,7 +33,6 @@ import { PlayCircle, RefreshCw, Ruler, - Train, TrainFront, Weight, XCircle, @@ -540,69 +539,50 @@ export default function BatchScheduleDetailPage() { ]} /> - {/* Hero — clean white */} - - + - - - - - - - - - - {data.trainNumber ?? data.routeName ?? "Schedule"} - - - {data.status} - - - - }> - {data.scheduleDate - ? new Intl.DateTimeFormat("en-GB", { - weekday: "short", - day: "2-digit", - month: "short", - year: "numeric", - hour: "2-digit", - minute: "2-digit", - hour12: false, - timeZone: "Africa/Addis_Ababa", - }).format(new Date(data.scheduleDate)) + " EAT" - : "No date"} - - {data.locomotive ? ( - }> - Loco {data.locomotive.code} · {fmtTons(data.locomotive.maxPullWeightTons)} ·{" "} - {data.locomotive.maxTrainLengthMeters} m - - ) : null} - - + + + + + {data.trainNumber ?? data.routeName ?? "Schedule"} + + + {data.status} - + + + }> + {data.scheduleDate + ? new Intl.DateTimeFormat("en-GB", { + weekday: "short", + day: "2-digit", + month: "short", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + hour12: false, + timeZone: "Africa/Addis_Ababa", + }).format(new Date(data.scheduleDate)) + " EAT" + : "No date"} + + {data.locomotive ? ( + }> + Loco {data.locomotive.code} · {fmtTons(data.locomotive.maxPullWeightTons)} ·{" "} + {data.locomotive.maxTrainLengthMeters} m + + ) : null} + + - + + + - - - - - - - - + + + + + +