diff --git a/src/services/dashboard/app.js b/src/services/dashboard/app.js
index f48e8ab..48f3271 100644
--- a/src/services/dashboard/app.js
+++ b/src/services/dashboard/app.js
@@ -240,11 +240,9 @@ async function updateDashboard() {
if (d.pendingTasks && d.pendingTasks.length > 0) {
qs.style.display = "block";
qt.innerHTML = d.pendingTasks.map(t => {
- const isRunning = ['planning', 'running', 'finalizing'].includes(t.status);
- let tc = "warning";
- if (t.status === 'running') tc = "running";
- else if (t.status === 'planning') tc = "planning";
- else if (t.status === 'finalizing') tc = "finalizing";
+ const activeStatuses = ['planning', 'pending', 'running', 'finalizing'];
+ const isRunning = activeStatuses.includes(t.status);
+ const tc = t.status || "warning";
const indicator = isRunning ? '
' : '';
return `
| ${fmtDate(t.updated_at)} |
diff --git a/src/services/dashboard/styles.css b/src/services/dashboard/styles.css
index 6957ada..9f10c7b 100644
--- a/src/services/dashboard/styles.css
+++ b/src/services/dashboard/styles.css
@@ -284,8 +284,11 @@
}
.tag.success { background: var(--success-bg); color: var(--success); }
+ .tag.completed { background: var(--success-bg); color: var(--success); }
.tag.error { background: var(--error-bg); color: var(--error); }
+ .tag.failed { background: var(--error-bg); color: var(--error); }
.tag.warning { background: var(--warning-bg); color: var(--warning); }
+ .tag.pending { background: var(--warning-bg); color: var(--warning); }
.tag.running { background: var(--primary-bg); color: var(--primary); }
.tag.planning { background: var(--planning-bg); color: var(--text-muted); }
.tag.finalizing { background: var(--finalizing-bg); color: var(--purple); }