import { useNavigate } from "react-router"; import { Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from "@mui/material"; import { Text } from "@/components/ui/text"; import type { DashboardRangeKey } from "@/domain/dashboard/types/dashboard-range"; import type { DispatcherWorkloadRow } from "@/domain/dashboard/types/dashboard-workload"; import { workOrderDispatcherDrilldownSearch, workOrderDrilldownUrl, } from "@/domain/dashboard/utils/work-order-drilldown-links"; import { DashboardCard } from "./dashboard-card"; const EMPTY_MESSAGE = "No dispatchers are set up yet."; interface DispatcherWorkloadCardProps { rows: DispatcherWorkloadRow[]; range: DashboardRangeKey; isLoading?: boolean; error?: unknown; } function DispatcherNameCell({ row, range, }: { row: DispatcherWorkloadRow; range: DashboardRangeKey; }) { const navigate = useNavigate(); const drillable = Boolean(row.dispatcherId) && row.totalWorkOrders > 0; if (!drillable) { return {row.dispatcherName}; } return ( navigate(workOrderDrilldownUrl(workOrderDispatcherDrilldownSearch(row.dispatcherId, range))) } > {row.dispatcherName} ); } export function DispatcherWorkloadCard({ rows, range, isLoading = false, error, }: DispatcherWorkloadCardProps) { return ( Dispatcher Open Total {rows.map((row) => ( {row.openWorkOrders.toLocaleString()} {row.totalWorkOrders.toLocaleString()} ))}
); }