Extract dashboard TaskPanel component (#63)
* review: harden readonly git checks and lint verification * test: satisfy readonly reviewer sandbox typing * test: fix readonly reviewer sandbox assertions * test: remove impossible readonly sandbox guards * test: relax readonly sandbox assertions * test: cast readonly sandbox expectation shape * test: cast readonly sandbox expectation through unknown * Phase 0 — STEP_DONE/TASK_DONE split + owner-follow-up integration smoke * Add STEP_DONE guards, verdict storage, and stale delivery suppression * style: format paired stepdone telemetry files * Route STEP_DONE through reviewer * Add structured Discord attachments * style: format structured attachment test * Fix room thread bot output parity * Remove duplicate work item attachment migration from owner branch * Remove legacy dashboard rooms renderer * Extract dashboard parsed body renderer * Extract dashboard redaction helpers * Extract dashboard RoomCardV2 component * Include RoomCardV2 test in vitest suite * Extract dashboard RoomBoardV2 component * Extract dashboard EmptyState component * Extract dashboard InboxPanel component * Split dashboard InboxPanel card renderer * Extract dashboard TaskPanel component
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import type { DashboardTask, DashboardTaskAction } from './api';
|
||||
import { localeTags, type Locale } from './i18n';
|
||||
import { localeTags, type Locale, type Messages } from './i18n';
|
||||
|
||||
export function formatDate(
|
||||
value: string | null | undefined,
|
||||
@@ -62,3 +62,8 @@ export function taskActionsFor(task: DashboardTask): DashboardTaskAction[] {
|
||||
if (task.status === 'paused') return ['resume', 'cancel'];
|
||||
return [];
|
||||
}
|
||||
|
||||
export function statusLabel(status: string, t: Messages): string {
|
||||
if (status in t.status) return t.status[status as keyof Messages['status']];
|
||||
return status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user