+
+
{getStatusIcon(vm.status)}
{vm.status.toUpperCase()}
-
- {getStatusIcon(vm.status)}
-
{typeBadge.icon}
{typeBadge.label}
@@ -522,88 +513,123 @@ export function VirtualMachines() {
{vm.name}
ID: {vm.vmid}
{lxcIP && (
-
+
IP: {lxcIP}
)}
-
- Uptime: {formatUptime(vm.uptime)}
-
+ Uptime: {formatUptime(vm.uptime)}
-
+
+
+
+
CPU Usage
+
+ {cpuPercent}%
+
+
+
+
+
+
Memory
+
+ {memGB} / {maxMemGB} GB
+
+
+
+
+
+
Disk Usage
+
+ {diskGB} / {maxDiskGB} GB
+
+
+
+
+
+
Disk I/O
+
+
+
+ ↓ {formatBytes(vm.diskread)}
+
+
+
+ ↑ {formatBytes(vm.diskwrite)}
+
+
+
+
+
+
Network I/O
+
+
+
+ ↓ {formatBytes(vm.netin)}
+
+
+
+ ↑ {formatBytes(vm.netout)}
+
+
+
+
+
+
+
+ {/* Line 1: Status badge + Type badge + Name + ID */}
+
+
+ {getStatusIcon(vm.status)}
+
+
+ {typeBadge.icon}
+ {typeBadge.label}
+
+ {vm.name}
+ ID: {vm.vmid}
+
+
+ {/* Line 2: IP + Uptime */}
+
{lxcIP && (
{lxcIP}
)}
- Uptime: {formatUptime(vm.uptime)}
+ Uptime: {formatUptime(vm.uptime)}
-
-
-
-
CPU Usage
-
- {cpuPercent}%
+ {/* Line 3: CPU, Memory, Disk (numbers only with colors) */}
+
-
-
-
Memory
-
- {memGB} / {maxMemGB} GB
+
+
+
+ {memGB}/{maxMemGB} GB
+
-
-
-
-
-
Disk Usage
-
- {diskGB} / {maxDiskGB} GB
-
-
-
-
-
-
Disk I/O
-
-
-
- ↓ {formatBytes(vm.diskread)}
-
-
-
- ↑ {formatBytes(vm.diskwrite)}
-
-
-
-
-
-
Network I/O
-
-
-
- ↓ {formatBytes(vm.netin)}
-
-
-
- ↑ {formatBytes(vm.netout)}
-
+
+
+
+ {diskGB}/{maxDiskGB} GB
+