From ab59e2deac08e1f970197c160878b8f5e0cd8a21 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Fri, 17 Oct 2025 19:06:15 +0200 Subject: [PATCH] Update AppImage --- AppImage/components/network-metrics.tsx | 345 ++++++++++++++++------- AppImage/components/storage-overview.tsx | 176 ++++++++---- 2 files changed, 357 insertions(+), 164 deletions(-) diff --git a/AppImage/components/network-metrics.tsx b/AppImage/components/network-metrics.tsx index c04a62c..d09ae60 100644 --- a/AppImage/components/network-metrics.tsx +++ b/AppImage/components/network-metrics.tsx @@ -269,66 +269,129 @@ export function NetworkMetrics() { const typeBadge = getInterfaceTypeBadge(interface_.type) return ( -
setSelectedInterface(interface_)} - > - {/* First row: Icon, Name, Type Badge, Status */} -
- -
-
{interface_.name}
- - {typeBadge.label} +
+
setSelectedInterface(interface_)} + > + {/* First row: Icon, Name, Type Badge, Status */} +
+ +
+
{interface_.name}
+ + {typeBadge.label} + +
+ + {interface_.status.toUpperCase()}
- - {interface_.status.toUpperCase()} - -
- {/* Second row: Details - Responsive layout */} -
-
-
IP Address
-
- {interface_.addresses.length > 0 ? interface_.addresses[0].ip : "N/A"} -
-
- -
-
Speed
-
- - {formatSpeed(interface_.speed)} -
-
- -
-
Traffic
-
- ↓ {formatBytes(interface_.bytes_recv)} - {" / "} - ↑ {formatBytes(interface_.bytes_sent)} -
-
- - {interface_.mac_address && ( -
-
MAC
-
- {interface_.mac_address} + {/* Second row: Details - Responsive layout */} +
+
+
IP Address
+
+ {interface_.addresses.length > 0 ? interface_.addresses[0].ip : "N/A"}
- )} + +
+
Speed
+
+ + {formatSpeed(interface_.speed)} +
+
+ +
+
Traffic
+
+ ↓ {formatBytes(interface_.bytes_recv)} + {" / "} + ↑ {formatBytes(interface_.bytes_sent)} +
+
+ + {interface_.mac_address && ( +
+
MAC
+
+ {interface_.mac_address} +
+
+ )} +
+
+ +
setSelectedInterface(interface_)} + > + {/* First row: Icon, Name, Type Badge, Status */} +
+ +
+
{interface_.name}
+ + {typeBadge.label} + +
+ + {interface_.status.toUpperCase()} + +
+ + {/* Second row: Details - Responsive layout */} +
+
+
IP Address
+
+ {interface_.addresses.length > 0 ? interface_.addresses[0].ip : "N/A"} +
+
+ +
+
Speed
+
+ + {formatSpeed(interface_.speed)} +
+
+ +
+
Traffic
+
+ ↓ {formatBytes(interface_.bytes_recv)} + {" / "} + ↑ {formatBytes(interface_.bytes_sent)} +
+
+ + {interface_.mac_address && ( +
+
MAC
+
+ {interface_.mac_address} +
+
+ )} +
) @@ -470,67 +533,131 @@ export function NetworkMetrics() { const vmTypeBadge = getVMTypeBadge(interface_.vm_type) return ( -
setSelectedInterface(interface_)} - > - {/* First row: Icon, Name, VM/LXC Badge, VM Name, Status */} -
- -
-
{interface_.name}
- - {vmTypeBadge.label} +
+
setSelectedInterface(interface_)} + > + {/* First row: Icon, Name, VM/LXC Badge, VM Name, Status */} +
+ +
+
{interface_.name}
+ + {vmTypeBadge.label} + + {interface_.vm_name && ( +
→ {interface_.vm_name}
+ )} +
+ + {interface_.status.toUpperCase()} - {interface_.vm_name && ( -
→ {interface_.vm_name}
- )} -
- - {interface_.status.toUpperCase()} - -
- - {/* Second row: Details - Responsive layout */} -
-
-
VMID
-
{interface_.vmid ?? "N/A"}
-
-
Speed
-
- - {formatSpeed(interface_.speed)} + {/* Second row: Details - Responsive layout */} +
+
+
VMID
+
{interface_.vmid ?? "N/A"}
-
-
-
Traffic
-
- ↓ {formatBytes(interface_.bytes_recv)} - {" / "} - ↑ {formatBytes(interface_.bytes_sent)} -
-
- - {interface_.mac_address && ( -
-
MAC
-
- {interface_.mac_address} +
+
Speed
+
+ + {formatSpeed(interface_.speed)}
- )} + +
+
Traffic
+
+ ↓ {formatBytes(interface_.bytes_recv)} + {" / "} + ↑ {formatBytes(interface_.bytes_sent)} +
+
+ + {interface_.mac_address && ( +
+
MAC
+
+ {interface_.mac_address} +
+
+ )} +
+
+ +
setSelectedInterface(interface_)} + > + {/* First row: Icon, Name, VM/LXC Badge, VM Name, Status */} +
+ +
+
{interface_.name}
+ + {vmTypeBadge.label} + + {interface_.vm_name && ( +
→ {interface_.vm_name}
+ )} +
+ + {interface_.status.toUpperCase()} + +
+ + {/* Second row: Details - Responsive layout */} +
+
+
VMID
+
{interface_.vmid ?? "N/A"}
+
+ +
+
Speed
+
+ + {formatSpeed(interface_.speed)} +
+
+ +
+
Traffic
+
+ ↓ {formatBytes(interface_.bytes_recv)} + {" / "} + ↑ {formatBytes(interface_.bytes_sent)} +
+
+ + {interface_.mac_address && ( +
+
MAC
+
+ {interface_.mac_address} +
+
+ )} +
) diff --git a/AppImage/components/storage-overview.tsx b/AppImage/components/storage-overview.tsx index 64ca8d3..3ae6985 100644 --- a/AppImage/components/storage-overview.tsx +++ b/AppImage/components/storage-overview.tsx @@ -642,69 +642,135 @@ export function StorageOverview() {
{storageData.disks.map((disk) => ( -
handleDiskClick(disk)} - > -
- {/* Row 1: Device name and type badge */} -
- -

/dev/{disk.name}

- - {getDiskTypeBadge(disk.name, disk.rotation_rate).label} - +
+
handleDiskClick(disk)} + > +
+ {/* Row 1: Device name and type badge */} +
+ +

/dev/{disk.name}

+ + {getDiskTypeBadge(disk.name, disk.rotation_rate).label} + +
+ + {/* Row 2: Model, temperature, and health status */} +
+ {disk.model && disk.model !== "Unknown" && ( +

{disk.model}

+ )} +
+ {disk.temperature > 0 && ( +
+ + + {disk.temperature}°C + +
+ )} + {getHealthBadge(disk.health)} +
+
- {/* Row 2: Model, temperature, and health status */} -
- {disk.model && disk.model !== "Unknown" && ( -

{disk.model}

+
+ {disk.size_formatted && ( +
+

Size

+

{disk.size_formatted}

+
+ )} + {disk.smart_status && disk.smart_status !== "unknown" && ( +
+

SMART Status

+

{disk.smart_status}

+
+ )} + {disk.power_on_hours !== undefined && disk.power_on_hours > 0 && ( +
+

Power On Time

+

{formatHours(disk.power_on_hours)}

+
+ )} + {disk.serial && disk.serial !== "Unknown" && ( +
+

Serial

+

{disk.serial}

+
)} -
- {disk.temperature > 0 && ( -
- - - {disk.temperature}°C - -
- )} - {getHealthBadge(disk.health)} -
-
- {disk.size_formatted && ( -
-

Size

-

{disk.size_formatted}

+
handleDiskClick(disk)} + > +
+ {/* Row 1: Device name and type badge */} +
+ +

/dev/{disk.name}

+ + {getDiskTypeBadge(disk.name, disk.rotation_rate).label} +
- )} - {disk.smart_status && disk.smart_status !== "unknown" && ( -
-

SMART Status

-

{disk.smart_status}

+ + {/* Row 2: Model, temperature, and health status */} +
+ {disk.model && disk.model !== "Unknown" && ( +

{disk.model}

+ )} +
+ {disk.temperature > 0 && ( +
+ + + {disk.temperature}°C + +
+ )} + {getHealthBadge(disk.health)} +
- )} - {disk.power_on_hours !== undefined && disk.power_on_hours > 0 && ( -
-

Power On Time

-

{formatHours(disk.power_on_hours)}

-
- )} - {disk.serial && disk.serial !== "Unknown" && ( -
-

Serial

-

{disk.serial}

-
- )} +
+ +
+ {disk.size_formatted && ( +
+

Size

+

{disk.size_formatted}

+
+ )} + {disk.smart_status && disk.smart_status !== "unknown" && ( +
+

SMART Status

+

{disk.smart_status}

+
+ )} + {disk.power_on_hours !== undefined && disk.power_on_hours > 0 && ( +
+

Power On Time

+

{formatHours(disk.power_on_hours)}

+
+ )} + {disk.serial && disk.serial !== "Unknown" && ( +
+

Serial

+

{disk.serial}

+
+ )} +
))}