TorbatYar/frontend/modules/payment/components/PaymentStatusChip.tsx
Mortezakoohjani 4451b32a33 feat(payment-frontend): ship Torbat Pay admin portal for MVP 14.0-14.5
Add payment module, BFF proxy, hub/dashboard/ops/PSP/merchant screens wired to real APIs, and mark payment-frontend complete in project status.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:35:07 +03:30

37 lines
1.5 KiB
TypeScript

"use client";
import { cn } from "@/lib/utils";
const COLORS: Record<string, string> = {
paid: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",
recorded: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",
active: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",
enabled: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",
healthy: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",
pending: "bg-amber-500/15 text-amber-700 dark:text-amber-300",
pending_review: "bg-amber-500/15 text-amber-700 dark:text-amber-300",
redirect_issued: "bg-sky-500/15 text-sky-700 dark:text-sky-300",
processing: "bg-sky-500/15 text-sky-700 dark:text-sky-300",
draft: "bg-slate-500/15 text-slate-700 dark:text-slate-300",
failed: "bg-rose-500/15 text-rose-700 dark:text-rose-300",
cancelled: "bg-slate-500/15 text-slate-600 dark:text-slate-400",
expired: "bg-slate-500/15 text-slate-600 dark:text-slate-400",
suspended: "bg-orange-500/15 text-orange-700 dark:text-orange-300",
closed: "bg-slate-500/15 text-slate-600 dark:text-slate-400",
disabled: "bg-slate-500/15 text-slate-600 dark:text-slate-400",
};
export function PaymentStatusChip({ status }: { status?: string | null }) {
const key = (status || "unknown").toLowerCase();
return (
<span
className={cn(
"inline-flex rounded-md px-2 py-0.5 text-xs font-medium",
COLORS[key] || "bg-[var(--surface-muted)] text-[var(--muted)]"
)}
>
{status || "—"}
</span>
);
}