import { Badge, ScrollArea, Tabs } from "@mantine/core"; import { CheckCircle, ClipboardCheck, ClipboardList, FileSignature, Inbox, LayoutGrid, ShieldCheck, Train, Wallet, XCircle, } from "lucide-react"; import "@/components/overview/overview.css"; import { BOOKING_LIST_TABS, type BookingStatusTabKey, } from "@/features/bookings/booking-status.config"; const TAB_ICONS: Record = { all: , intake: , in_approval: , approved_contract: , clearance: , payment: , ops_review: , operations: , completed: , closed: , }; interface BookingStatusTabsProps { active: BookingStatusTabKey; onChange: (tab: BookingStatusTabKey) => void; counts?: Partial>; } export function BookingStatusTabs({ active, onChange, counts, }: BookingStatusTabsProps) { return ( onChange((value as BookingStatusTabKey) ?? "all")} variant="pills" color="edr-green" keepMounted={false} classNames={{ list: "ov-tablist", tab: "ov-tab" }} > {BOOKING_LIST_TABS.map((tab) => { const isActive = active === tab.key; const count = counts?.[tab.key]; return ( {count} ) : undefined } > {tab.label} ); })} ); } export type { BookingStatusTabKey };