type Source = 'local' | 'partial' | 'none' | 'cancelled' interface Props { source: Source label?: string } export function SourceBadge({ source, label }: Props) { switch (source) { case 'local': return {label ?? 'Local'} case 'partial': return {label ?? 'Partial'} case 'cancelled': return {label ?? 'Cancelled'} default: return {label ?? 'None'} } } export function weekendStatusLabel(source: Source): string { switch (source) { case 'local': return 'Full' case 'partial': return 'Partial' case 'cancelled': return 'Cancelled' default: return 'Missing' } }