服务器卡片 CPU 标签旁显示核心数

cpu_cores 已随遥测上报并入库,卡片此前未使用。标签显示为
"CPU N 核"(英文 "CPU N cores"),核心数缺失或为 0 时回退为
"CPU"。标签行加 white-space: nowrap,防止长标签在窄卡换行
破坏行高一致性。
This commit is contained in:
imengying committed 2026-09-13 00:43:55 +08:00
1 parent 761073fffc
commit 823a07d464
2 files changed
+3 -2

No files matched your search

+2 -1
View File
@@ -104,6 +104,7 @@ export const NodeCard = memo(function NodeCard({ server, config, liveLatencyResu
}) {
const threshold = config.offline_threshold_seconds;
const online = isOnline(server, threshold);
const cpuCores = Math.max(0, Math.trunc(number(server.cpu_cores)));
const memory = percent(server.mem_used, server.mem_total);
const disk = percent(server.disk_used, server.disk_total);
const usedTraffic = trafficUsed(server);
@@ -135,7 +136,7 @@ export const NodeCard = memo(function NodeCard({ server, config, liveLatencyResu
</div>
<div className="metric-grid">
<Metric label="CPU" value={`${number(server.cpu).toFixed(1)}%`} used={number(server.cpu)} sub={`${number(server.load1).toFixed(2)}, ${number(server.load5).toFixed(2)}, ${number(server.load15).toFixed(2)}`} muted={!online} />
<Metric label={cpuCores > 0 ? ui(locale, `CPU ${cpuCores} 核`, `CPU ${cpuCores} ${cpuCores === 1 ? "core" : "cores"}`) : "CPU"} value={`${number(server.cpu).toFixed(1)}%`} used={number(server.cpu)} sub={`${number(server.load1).toFixed(2)}, ${number(server.load5).toFixed(2)}, ${number(server.load15).toFixed(2)}`} muted={!online} />
<Metric label={ui(locale, "内存", "Memory")} value={`${memory.toFixed(1)}%`} used={memory} sub={`${formatBytes(server.mem_used)} / ${formatBytes(server.mem_total)}`} muted={!online} />
<Metric label={ui(locale, "硬盘", "Disk")} value={`${disk.toFixed(1)}%`} used={disk} sub={`${formatBytes(server.disk_used)} / ${formatBytes(server.disk_total)}`} muted={!online} />
<Metric label={ui(locale, "流量", "Traffic")} value={server.traffic_limit > 0 ? `${traffic.toFixed(1)}%` : "∞"} used={traffic} sub={`${formatBytes(usedTraffic)} / ${server.traffic_limit > 0 ? formatBytes(server.traffic_limit) : "∞"}`} muted={!online} />
+1 -1
View File
@@ -71,7 +71,7 @@
.metric { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.metric.muted { opacity: .55; }
/* 固定行高:CJK 回退字体的 normal 行高大于拉丁文本,浮动行高会把进度条与下一行顶偏 */
.metric > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 16px; }
.metric > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 16px; white-space: nowrap; }
.metric span, .metric small { color: var(--muted-foreground); }
.metric strong { font-weight: 500; font-variant-numeric: tabular-nums; }
.metric small { overflow: hidden; font-size: 12px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; line-height: 14px; }