import { cn } from '@/lib/cn'; import { MISSION_LABELS, OBJECT_TYPE_LABELS, ORBIT_CLASS_COLORS, STATUS_COLORS } from '@/lib/site'; export function StatusBadge({ status, className, size = 'sm' }: { status: string | null | undefined; className?: string; size?: 'sm' | 'md' }) { const s = status ?? 'UNKNOWN'; const color = STATUS_COLORS[s] ?? 'var(--inactive)'; return ( {s.charAt(0) + s.slice(1).toLowerCase()} ); } export function OrbitBadge({ orbitClass, className }: { orbitClass: string | null | undefined; className?: string }) { const c = orbitClass ?? 'UNKNOWN'; const color = ORBIT_CLASS_COLORS[c] ?? 'var(--other)'; return ( {c === 'UNKNOWN' ? '—' : c} ); } export function TypeBadge({ type, className }: { type: string | null | undefined; className?: string }) { return {OBJECT_TYPE_LABELS[type ?? ''] ?? type ?? '—'}; } export function MissionLabel({ mission }: { mission: string | null | undefined }) { return <>{MISSION_LABELS[mission ?? 'unknown'] ?? mission ?? 'Unknown'}; } export function FreshnessBadge({ status, label }: { status: 'fresh' | 'aging' | 'stale' | 'unavailable' | 'not_enabled' | string; label?: string }) { const color = status === 'fresh' ? 'var(--active)' : status === 'aging' ? 'var(--warn)' : status === 'stale' ? 'var(--danger)' : 'var(--inactive)'; return ( {label ?? status.replace('_', ' ')} ); }