From 713dbb2e6275d86062b4f1693b0c97a918e7b74b Mon Sep 17 00:00:00 2001 From: James Barford-Evans Date: Tue, 14 Oct 2025 09:48:13 +0100 Subject: [PATCH 1/2] new statuses for collector --- .../src/pages/status_new/collector.vue | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/site/frontend/src/pages/status_new/collector.vue b/site/frontend/src/pages/status_new/collector.vue index 7836d0c94..cc6540a5b 100644 --- a/site/frontend/src/pages/status_new/collector.vue +++ b/site/frontend/src/pages/status_new/collector.vue @@ -43,23 +43,31 @@ function ActiveStatus({collector}: {collector: CollectorConfig}) { const maxInactivityHours = 1; const lastHeartBeatAt = parseISO(collector.lastHeartbeatAt); const hourDiff = differenceInHours(now, lastHeartBeatAt); - let statusText = "Active"; - let statusClass = "active"; + let statusText = "Waiting"; + let statusClass = "waiting"; switch (collector.isActive) { case false: + statusText = "Inactive"; + statusClass = "inactive"; + break; + case true: if (hourDiff >= maxInactivityHours) { statusText = "Offline"; statusClass = "offline"; } else { - statusText = "Active"; - statusClass = "active"; + const allJobsComplete = collector.jobs.every( + (job) => job.status === "Failed" || job.status === "Success" + ); + if (allJobsComplete || collector.jobs.length === 0) { + statusText = "Waiting"; + statusClass = "waiting"; + } else { + statusText = "Benchmarking"; + statusClass = "benchmarking"; + } } break; - case true: - statusText = "Inactive"; - statusClass = "inactive"; - break; } return ( @@ -252,11 +260,16 @@ $sm-radius: 8px; .status { } -.status.active { +.status.benchmarking { background: #117411; color: white; font-weight: bold; } +.status.waiting { + background: #1b45e4; + color: white; + font-weight: bold; +} .status.inactive { background: #ccc; color: white; From cde492a7e9bc8505de020e941e9eeaff758f66a1 Mon Sep 17 00:00:00 2001 From: James Barford-Evans Date: Tue, 14 Oct 2025 10:28:42 +0100 Subject: [PATCH 2/2] PR Feedback; remove needless condition --- site/frontend/src/pages/status_new/collector.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/frontend/src/pages/status_new/collector.vue b/site/frontend/src/pages/status_new/collector.vue index cc6540a5b..34c8b90c0 100644 --- a/site/frontend/src/pages/status_new/collector.vue +++ b/site/frontend/src/pages/status_new/collector.vue @@ -59,7 +59,7 @@ function ActiveStatus({collector}: {collector: CollectorConfig}) { const allJobsComplete = collector.jobs.every( (job) => job.status === "Failed" || job.status === "Success" ); - if (allJobsComplete || collector.jobs.length === 0) { + if (allJobsComplete) { statusText = "Waiting"; statusClass = "waiting"; } else {