diff --git a/site/frontend/src/pages/status_new/collector.vue b/site/frontend/src/pages/status_new/collector.vue index 7836d0c94..34c8b90c0 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) { + 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;