diff --git a/src/components/ServerDetailOverview.tsx b/src/components/ServerDetailOverview.tsx index 2819587..a3c706c 100644 --- a/src/components/ServerDetailOverview.tsx +++ b/src/components/ServerDetailOverview.tsx @@ -56,6 +56,7 @@ export default function ServerDetailOverview({ load_15, net_out_transfer, net_in_transfer, + last_active_time_string, } = formatNezhaInfo(nezhaWsData.now, server); return ( @@ -88,7 +89,8 @@ export default function ServerDetailOverview({ - + {online && ( +

@@ -102,6 +104,7 @@ export default function ServerDetailOverview({

+ )} {version && ( @@ -126,7 +129,10 @@ export default function ServerDetailOverview({ )} - + + + + {mem_total ? (

@@ -135,8 +141,11 @@ export default function ServerDetailOverview({

{formatBytes(mem_total)}
-
- + ) : null} + + + + {disk_total ? (

@@ -145,7 +154,10 @@ export default function ServerDetailOverview({

{formatBytes(disk_total)}
-
+
) : null} + + + {country_code && ( @@ -211,14 +223,14 @@ export default function ServerDetailOverview({

{"Load"}

-
{load_1} / {load_5} / {load_15}
- + {net_out_transfer ? ( +

@@ -232,7 +244,8 @@ export default function ServerDetailOverview({

- + ): null} + {net_in_transfer ? (

@@ -245,7 +258,7 @@ export default function ServerDetailOverview({ )}

-
+
): null} {server?.state.temperatures && server?.state.temperatures.length > 0 && (
@@ -266,6 +279,20 @@ export default function ServerDetailOverview({
)} +
+ + +
+

+ {t("serverDetail.lastActive")} +

+
+ {last_active_time_string ? last_active_time_string : "N/A"} +
+
+
+
+
); } diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 3154780..6e42e7a 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -7,13 +7,16 @@ export function cn(...inputs: ClassValue[]) { } export function formatNezhaInfo(now: number, serverInfo: NezhaServer) { - const lastActiveTime = parseISOTimestamp(serverInfo.last_active); + const lastActiveTime = serverInfo.last_active.startsWith("000") ? 0 : parseISOTimestamp(serverInfo.last_active); return { ...serverInfo, cpu: serverInfo.state.cpu || 0, process: serverInfo.state.process_count || 0, up: serverInfo.state.net_out_speed / 1024 / 1024 || 0, down: serverInfo.state.net_in_speed / 1024 / 1024 || 0, + last_active_time_string: lastActiveTime + ? new Date(lastActiveTime).toLocaleString() + : "", online: now - lastActiveTime <= 30000, uptime: serverInfo.state.uptime || 0, version: serverInfo.host.version || null, diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 9a893db..2e33be5 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -60,7 +60,8 @@ "region": "Region", "system": "System", "upload": "Upload", - "download": "Download" + "download": "Download", + "lastActive": "Last active time" }, "serverDetailChart": { "process": "Process", diff --git a/src/locales/zh-CN/translation.json b/src/locales/zh-CN/translation.json index 38219eb..d0d4128 100644 --- a/src/locales/zh-CN/translation.json +++ b/src/locales/zh-CN/translation.json @@ -60,7 +60,8 @@ "region": "区域", "system": "系统", "upload": "上传", - "download": "下载" + "download": "下载", + "lastActive": "最后上报时间" }, "serverDetailChart": { "process": "进程数", diff --git a/src/locales/zh-TW/translation.json b/src/locales/zh-TW/translation.json index b8bdde2..76bed30 100644 --- a/src/locales/zh-TW/translation.json +++ b/src/locales/zh-TW/translation.json @@ -60,7 +60,8 @@ "region": "地區", "system": "系統", "upload": "上傳", - "download": "下載" + "download": "下載", + "lastActive": "最後上報時間" }, "serverDetailChart": { "process": "進程數",