fix: add nullish fallback for dynamic statusLabelKeys lookup in formatMessage

Prevents @formatjs/intl crash when session.status has an unexpected
value not present in the statusLabelKeys map, causing formatMessage
to receive undefined as the id.
This commit is contained in:
catlog22
2026-02-13 10:38:37 +08:00
parent 4d1a609aef
commit 78f1d81516
16 changed files with 271 additions and 31 deletions

View File

@@ -92,7 +92,7 @@ function TaskMarqueeWidgetComponent({ className }: TaskMarqueeWidgetProps) {
{/* Status and Priority badges */}
<div className="flex items-center gap-2 flex-wrap">
<Badge className={cn(statusColors[currentTask.status], 'capitalize')}>
{formatMessage({ id: statusLabelKeys[currentTask.status] })}
{formatMessage({ id: statusLabelKeys[currentTask.status] ?? 'sessions.status.inProgress' })}
</Badge>
<Badge className={cn(priorityColors[currentTask.priority], 'capitalize')}>
{formatMessage({ id: `common.priority.${currentTask.priority}` })}

View File

@@ -69,7 +69,7 @@ function WorkflowStatusProgressWidgetComponent({ className }: WorkflowStatusProg
<div className="flex items-center justify-between">
<div className="flex items-center gap-2">
<span className="text-sm font-medium text-foreground">
{formatMessage({ id: statusLabelKeys[item.status] })}
{formatMessage({ id: statusLabelKeys[item.status] ?? 'sessions.status.inProgress' })}
</span>
<Badge variant="secondary" className="text-xs">
{item.count}

View File

@@ -595,7 +595,7 @@ function WorkflowTaskWidgetComponent({ className }: WorkflowTaskWidgetProps) {
<div key={item.status} className="flex items-center gap-1.5 min-w-0">
<div className={cn('w-2.5 h-2.5 rounded-full shrink-0', colors.dot)} />
<span className="text-xs text-muted-foreground truncate">
{formatMessage({ id: statusLabelKeys[item.status] })}
{formatMessage({ id: statusLabelKeys[item.status] ?? 'sessions.status.inProgress' })}
</span>
<span className="text-xs font-medium text-foreground ml-auto">
{percentage}%