"use client" import { ClipboardList } from "lucide-react" import { Card, CardContent, CardHeader, CardTitle } from "@/shared/components/ui/card" import { Badge } from "@/shared/components/ui/badge" import { Progress } from "@/shared/components/ui/progress" import type { DashboardData } from "./use-dashboard-data" type Props = { data: DashboardData } const statusColors: Record = { draft: "bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-300", check_in: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300", in_progress: "bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-300", completed: "bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-300", cancelled: "bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300", invoiced: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300", } export function WorkOrdersStatusCard({ data }: Props) { const workOrders = data.work_orders_status const cards = workOrders?.cards ?? [] const totals = workOrders?.totals const totalOrders = totals?.orders ?? 0 return (
Work Orders

{totals?.orders_text ?? "0 Orders"}

{totals?.amount_text ?? ""}

{cards.map((card: any) => { const percentage = totalOrders > 0 ? ((card.count ?? 0) / totalOrders) * 100 : 0 return (
{card.label} {card.orders_text}
{card.amount_text}
) })} {cards.length === 0 && (

No work orders this period

)}
) }