From 131ab714ba43b87ecb4ccc4b99b393fc96217ba4 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 12 Oct 2025 18:05:35 +0200 Subject: [PATCH] Update system-overview.tsx --- AppImage/components/system-overview.tsx | 90 ++++++++++++++++++++----- 1 file changed, 73 insertions(+), 17 deletions(-) diff --git a/AppImage/components/system-overview.tsx b/AppImage/components/system-overview.tsx index ab853f9..a7b03de 100644 --- a/AppImage/components/system-overview.tsx +++ b/AppImage/components/system-overview.tsx @@ -63,6 +63,20 @@ interface NetworkData { packets_sent: number packets_recv: number } + physical_active_count?: number + physical_total_count?: number + bridge_active_count?: number + bridge_total_count?: number + physical_interfaces?: Array<{ + name: string + status: string + addresses: Array<{ ip: string; netmask: string }> + }> + bridge_interfaces?: Array<{ + name: string + status: string + addresses: Array<{ ip: string; netmask: string }> + }> } interface ProxmoxStorageData { @@ -288,7 +302,7 @@ export function SystemOverview() { } fetchNetwork() - const networkInterval = setInterval(fetchNetwork, 15000) + const networkInterval = setInterval(fetchNetwork, 60000) return () => { clearInterval(networkInterval) @@ -530,9 +544,24 @@ export function SystemOverview() {
Active Interfaces: - {networkData.interfaces.filter((i) => i.status === "up").length} + {(networkData.physical_active_count || 0) + (networkData.bridge_active_count || 0)}
+ + {(() => { + const primaryInterface = + networkData.physical_interfaces?.find((i) => i.status === "up") || + networkData.bridge_interfaces?.find((i) => i.status === "up") || + networkData.interfaces.find((i) => i.status === "up") + + return primaryInterface ? ( +
+ Primary Interface: + {primaryInterface.name} +
+ ) : null + })()} +
Data Sent: @@ -545,22 +574,49 @@ export function SystemOverview() { {(networkData.traffic.bytes_recv / 1024 ** 3).toFixed(2)} GB
+
- {networkData.interfaces.slice(0, 3).map((iface) => ( -
- {iface.name}: - - {iface.status} - -
- ))} + {networkData.physical_interfaces && networkData.physical_interfaces.length > 0 && ( + <> +
Physical Interfaces
+ {networkData.physical_interfaces.slice(0, 2).map((iface) => ( +
+ {iface.name}: + + {iface.status} + +
+ ))} + + )} + + {networkData.bridge_interfaces && networkData.bridge_interfaces.length > 0 && ( + <> +
Bridge Interfaces
+ {networkData.bridge_interfaces.slice(0, 2).map((iface) => ( +
+ {iface.name}: + + {iface.status} + +
+ ))} + + )}
) : (