/** * Status Badge Component * Displays connection/state status with color coding */ import { cn } from '@/lib/utils'; import { Badge } from '@/components/ui/badge'; type Status = 'connected' | 'disconnected' | 'connecting' | 'error' | 'running' | 'stopped' | 'starting'; interface StatusBadgeProps { status: Status; label?: string; showDot?: boolean; } const statusConfig: Record = { connected: { label: 'Connected', variant: 'success' }, running: { label: 'Running', variant: 'success' }, disconnected: { label: 'Disconnected', variant: 'secondary' }, stopped: { label: 'Stopped', variant: 'secondary' }, connecting: { label: 'Connecting', variant: 'warning' }, starting: { label: 'Starting', variant: 'warning' }, error: { label: 'Error', variant: 'destructive' }, }; export function StatusBadge({ status, label, showDot = true }: StatusBadgeProps) { const config = statusConfig[status]; const displayLabel = label || config.label; return ( {showDot && ( )} {displayLabel} ); }