import { Badge } from "@/components/ui/badge";

import type { CorporateActionStatus } from "../../bulk-edit/_lib/schema";

const VARIANTS: Record<
  CorporateActionStatus,
  { label: string; className: string }
> = {
  draft: { label: "Draft", className: "bg-muted text-muted-foreground" },
  previewed: { label: "Previewed", className: "bg-sky-500/15 text-sky-700 dark:text-sky-400" },
  applying: {
    label: "Applying",
    className: "bg-amber-500/15 text-amber-700 dark:text-amber-400",
  },
  applied: {
    label: "Applied",
    className: "bg-emerald-500/15 text-emerald-700 dark:text-emerald-400",
  },
  failed: { label: "Failed", className: "bg-destructive/15 text-destructive" },
  reverted: {
    label: "Reverted",
    className: "bg-violet-500/15 text-violet-700 dark:text-violet-400",
  },
};

export function CorporateActionStatusBadge({ status }: { status: CorporateActionStatus }) {
  const variant = VARIANTS[status] ?? VARIANTS.draft;

  return (
    <Badge variant="secondary" className={variant.className}>
      {variant.label}
    </Badge>
  );
}
