'use client' import type { QueueDto } from '@/lib/game/save' // TASK STRIP — the save's task queue, fixed bottom-left next to the NEXT TURN button (#44). // The array arrives pre-ordered from the snapshot builder (Task 6: ACTIVE block, then PENDING // block, each by (queuedAtTurn, id)) — the strip renders it as-is, dimming the PENDING rows, // and never fetches or re-sorts. Empty queue → null, no box at all. The shell re-renders it on // every refreshAll (Task 7) — a pure display of the array it is handed. export function TaskStrip({ tasks }: { tasks: QueueDto[] }) { if (tasks.length === 0) return null return (
ACTIVE TASKS {tasks.map((t) => (
{t.type} // {t.targetLabel} {t.leadName} {t.helperNames.length > 0 ? ` +${t.helperNames.join(' +')}` : ''} {' — '} {t.status === 'ACTIVE' ? `${t.remaining} turn(s) left` : 'queued'}
))}
) }