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('_', ' ')}
);
}