diff --git a/manual_trading_hub/static/app.css b/manual_trading_hub/static/app.css index 4330f03..9b89807 100644 --- a/manual_trading_hub/static/app.css +++ b/manual_trading_hub/static/app.css @@ -833,8 +833,12 @@ html[data-theme="light"] .host-metric-bar { height: 100%; width: 0%; border-radius: inherit; - background: #3b82f6; - transition: width 0.35s ease; + background: #22c55e; + transition: width 0.35s ease, background 0.2s ease; +} + +.host-metric-fill.ok { + background: #22c55e; } .host-metric-fill.warn { diff --git a/manual_trading_hub/static/app.js b/manual_trading_hub/static/app.js index 04494ab..b7ae024 100644 --- a/manual_trading_hub/static/app.js +++ b/manual_trading_hub/static/app.js @@ -112,8 +112,16 @@ function hostMetricLevel(percent) { const p = Number(percent); if (!Number.isFinite(p)) return "ok"; - if (p >= 90) return "bad"; - if (p >= 75) return "warn"; + if (p >= HOST_RESOURCE_ALERT_THRESHOLD) return "bad"; + return "ok"; + } + + function hostOverallLevel(cpu, mem, disk) { + const vals = [cpu && cpu.percent, mem && mem.percent, disk && disk.percent]; + for (let i = 0; i < vals.length; i++) { + const p = Number(vals[i]); + if (Number.isFinite(p) && p >= HOST_RESOURCE_ALERT_THRESHOLD) return "bad"; + } return "ok"; } @@ -122,9 +130,8 @@ const p = Math.max(0, Math.min(100, Number(percent) || 0)); const level = hostMetricLevel(p); fillEl.style.width = p + "%"; - fillEl.classList.remove("warn", "bad"); - if (level === "warn") fillEl.classList.add("warn"); - if (level === "bad") fillEl.classList.add("bad"); + fillEl.classList.remove("warn", "bad", "ok"); + fillEl.classList.add(level === "bad" ? "bad" : "ok"); } function checkHostResourceAlert(cpu, mem) { @@ -225,14 +232,7 @@ const disk = data.disk || {}; const net = data.network || {}; checkHostResourceAlert(cpu, mem); - const levels = [ - hostMetricLevel(cpu.percent), - hostMetricLevel(mem.percent), - hostMetricLevel(disk.percent), - ]; - let overall = "ok"; - if (levels.includes("bad")) overall = "bad"; - else if (levels.includes("warn")) overall = "warn"; + const overall = hostOverallLevel(cpu, mem, disk); if (dot) dot.className = "host-status-dot " + overall; const hostname = data.hostname || "服务器"; if (name) { diff --git a/manual_trading_hub/static/index.html b/manual_trading_hub/static/index.html index 9e2cc89..19cfbe6 100644 --- a/manual_trading_hub/static/index.html +++ b/manual_trading_hub/static/index.html @@ -653,6 +653,6 @@ - +