import { X } from "lucide-react"; import { StatusDot, mapEntityStatus, type StatusVariant } from "@/components/StatusDot"; import { cn } from "@/lib/utils"; // --------------------------------------------------------------------------- // PhaseNumberBadge — small numbered circle colored by phase status // --------------------------------------------------------------------------- const badgeStyles: Record = { active: "bg-status-active-bg text-status-active-fg border-status-active-border", success: "bg-status-success-bg text-status-success-fg border-status-success-border", warning: "bg-status-warning-bg text-status-warning-fg border-status-warning-border", error: "bg-status-error-bg text-status-error-fg border-status-error-border", neutral: "bg-muted text-muted-foreground border-border", urgent: "bg-status-urgent-bg text-status-urgent-fg border-status-urgent-border", }; interface PhaseNumberBadgeProps { index: number; status: string; className?: string; } export function PhaseNumberBadge({ index, status, className }: PhaseNumberBadgeProps) { const variant = mapEntityStatus(status); return ( {index} ); } // --------------------------------------------------------------------------- // DependencyChip — compact pill showing dependency name + status dot // --------------------------------------------------------------------------- const chipBorderColor: Record = { active: "border-status-active-border/60", success: "border-status-success-border/60", warning: "border-status-warning-border/60", error: "border-status-error-border/60", neutral: "border-border", urgent: "border-status-urgent-border/60", }; interface DependencyChipProps { name: string; status: string; size?: "xs" | "sm"; className?: string; onRemove?: () => void; } export function DependencyChip({ name, status, size = "sm", className, onRemove, }: DependencyChipProps) { const variant = mapEntityStatus(status); return ( {name} {onRemove && ( )} ); }