Intelligence

Artifacts

Browse the repository, read documents, and manage the governance folders. Source, runtime, and infrastructure are read-only.

Repository
.gitignoreDockerfilenext-env.d.tsnext.config.mjspackage-lock.jsonpackage.jsonpostcss.config.mjsREADME.mdtailwind.config.tstsconfig.jsontsconfig.tsbuildinfo
README.md
CONSTITUTION_COMPLIANCE_AUDIT_V1.mdREADME.md
repositories/aaf-holdings/hq01/components/missions/mission-status-badge.tsx
913 B
import { cn } from "@/lib/utils";
import type { MissionStatus } from "@/lib/missions/types";

const STYLES: Record<MissionStatus, string> = {
  Draft: "bg-slate-100 text-slate-600",
  Proposed: "bg-violet-50 text-violet-700",
  Approved: "bg-blue-50 text-blue-700",
  Planning: "bg-amber-50 text-amber-700",
  Active: "bg-emerald-50 text-emerald-700",
  Blocked: "bg-red-50 text-red-700",
  Review: "bg-violet-50 text-violet-700",
  Completed: "bg-teal-50 text-teal-700",
  Archived: "bg-slate-100 text-slate-500",
  Cancelled: "bg-slate-100 text-slate-500",
};

export function MissionStatusBadge({
  status,
  className,
}: {
  status: MissionStatus;
  className?: string;
}) {
  return (
    <span
      className={cn(
        "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium",
        STYLES[status] ?? STYLES.Draft,
        className,
      )}
    >
      {status}
    </span>
  );
}

root · /srv/aaf