"use client"; import { useTranslations } from "next-intl"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; export type TicketStatus = | "Open" | "InProgress" | "WaitingMerchant" | "Resolved" | "Closed" | string; export function isTicketClosed(status: TicketStatus): boolean { return status === "Closed" || status === "Resolved"; } export function TicketStatusBadge({ status, className, }: { status: TicketStatus; className?: string; }) { const t = useTranslations("support.status"); const label = (() => { switch (status) { case "Open": return t("open"); case "InProgress": return t("inProgress"); case "WaitingMerchant": return t("waitingMerchant"); case "Resolved": return t("resolved"); case "Closed": return t("closed"); default: return status; } })(); const styles = (() => { switch (status) { case "Open": return "bg-amber-100 text-amber-900 border-amber-200"; case "InProgress": return "bg-blue-100 text-blue-900 border-blue-200"; case "WaitingMerchant": return "bg-[#E1F5EE] text-[#0F6E56] border-[#0F6E56]/20"; case "Resolved": return "bg-muted text-muted-foreground"; case "Closed": return "bg-muted text-muted-foreground"; default: return ""; } })(); return ( {label} ); }