"use client"; import Link from "next/link"; import { formatDistanceToNow } from "date-fns"; import { CircleIcon } from "lucide-react"; import type { WidgetData } from "@/lib/types"; import { cn, formatTicketId } from "@/lib/utils"; const STATUS_COLORS: Record = { new: "#64748b", open: "#2563eb", in_progress: "#d97706", resolved: "#16a34a", closed: "#71717a", }; function statusLabel(status: string) { return status.replaceAll("_", " "); } export function TicketListWidget({ data }: { data: WidgetData }) { const tickets = data.tickets ?? []; return (
{data.title} {data.total}
{tickets.length === 0 ? (

No tickets

) : ( tickets.map((ticket) => ( {ticket.subject} {ticket.owner_name ?? "unassigned"} {formatDistanceToNow(new Date(ticket.updated_at), { addSuffix: true })} )) )}
); }