| ... | @@ -19,6 +19,12 @@ export interface ComposerTaskStep { | ... | @@ -19,6 +19,12 @@ export interface ComposerTaskStep { |
| 19 | | 19 | |
| 20 | const MAX_TASK_SEGMENTS = 10; | 20 | const MAX_TASK_SEGMENTS = 10; |
| 21 | | 21 | |
| | 22 | const taskStatusLabels = { |
| | 23 | pending: "Pending", |
| | 24 | inProgress: "Running", |
| | 25 | completed: "Completed", |
| | 26 | } satisfies Record<ComposerTaskStep["status"], string>; |
| | 27 | |
| 22 | function keyedTaskSteps(steps: readonly ComposerTaskStep[]) { | 28 | function keyedTaskSteps(steps: readonly ComposerTaskStep[]) { |
| 23 | const occurrences = new Map<string, number>(); | 29 | const occurrences = new Map<string, number>(); |
| 24 | return steps.map((step) => { | 30 | return steps.map((step) => { |
| ... | @@ -84,7 +90,7 @@ function TaskSummary({ | ... | @@ -84,7 +90,7 @@ function TaskSummary({ |
| 84 | className={progress.completedSteps >= progress.totalSteps ? "text-success" : undefined} | 90 | className={progress.completedSteps >= progress.totalSteps ? "text-success" : undefined} |
| 85 | data-composer-task-progress="true" | 91 | data-composer-task-progress="true" |
| 86 | > | 92 | > |
| 87 | {progress.completedSteps}/{progress.totalSteps} | 93 | {progress.completedSteps}/{progress.totalSteps} complete |
| 88 | </ComposerBanner.Count> | 94 | </ComposerBanner.Count> |
| 89 | <TaskSegments className="hidden w-20 sm:flex" steps={steps} /> | 95 | <TaskSegments className="hidden w-20 sm:flex" steps={steps} /> |
| 90 | <ComposerBanner.ToggleIcon expanded={expanded} /> | 96 | <ComposerBanner.ToggleIcon expanded={expanded} /> |
| ... | @@ -185,6 +191,9 @@ export const ComposerTasksContent = memo(function ComposerTasksContent({ | ... | @@ -185,6 +191,9 @@ export const ComposerTasksContent = memo(function ComposerTasksContent({ |
| 185 | {step.step} | 191 | {step.step} |
| 186 | </ComposerBanner.Content> | 192 | </ComposerBanner.Content> |
| 187 | <ComposerBanner.Actions> | 193 | <ComposerBanner.Actions> |
| | 194 | <span className="text-[10px] text-muted-foreground"> |
| | 195 | {taskStatusLabels[step.status]} |
| | 196 | </span> |
| 188 | <span | 197 | <span |
| 189 | className="w-10 text-right text-[10px] text-muted-foreground/45 tabular-nums" | 198 | className="w-10 text-right text-[10px] text-muted-foreground/45 tabular-nums" |
| 190 | data-composer-task-duration="true" | 199 | data-composer-task-duration="true" |