From 9f6f646e77c4e92c776def514afadbde8cd2427e Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 5 Oct 2025 12:56:06 +0200 Subject: [PATCH] Update virtual-machines.tsx --- AppImage/components/virtual-machines.tsx | 39 ++++++++++++++++++------ 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/AppImage/components/virtual-machines.tsx b/AppImage/components/virtual-machines.tsx index a9ab13e..1ad5ee5 100644 --- a/AppImage/components/virtual-machines.tsx +++ b/AppImage/components/virtual-machines.tsx @@ -226,6 +226,25 @@ export function VirtualMachines() { return `${days}d ${hours}h ${minutes}m` } + // Safe data handling with default empty array + const safeVMData = vmData || [] + + if (isLoading) { + return ( +
+
Loading virtual machines...
+
+ ) + } + + if (error) { + return ( +
+
Error loading virtual machines: {error.message}
+
+ ) + } + return (
{/* VM Overview Cards */} @@ -236,13 +255,13 @@ export function VirtualMachines() { -
{vmData.length}
+
{safeVMData.length}
- {vmData.filter((vm) => vm.status === "running").length} Running + {safeVMData.filter((vm) => vm.status === "running").length} Running - {vmData.filter((vm) => vm.status === "stopped").length} Stopped + {safeVMData.filter((vm) => vm.status === "stopped").length} Stopped

Virtual machines configured

@@ -256,7 +275,7 @@ export function VirtualMachines() {
- {(vmData.reduce((sum, vm) => sum + (vm.cpu || 0), 0) * 100).toFixed(0)}% + {(safeVMData.reduce((sum, vm) => sum + (vm.cpu || 0), 0) * 100).toFixed(0)}%

Allocated CPU usage

@@ -269,7 +288,7 @@ export function VirtualMachines() {
- {(vmData.reduce((sum, vm) => sum + (vm.maxmem || 0), 0) / 1024 ** 3).toFixed(1)} GB + {(safeVMData.reduce((sum, vm) => sum + (vm.maxmem || 0), 0) / 1024 ** 3).toFixed(1)} GB

Allocated RAM

@@ -282,10 +301,10 @@ export function VirtualMachines() {
- {vmData.filter((vm) => vm.status === "running").length > 0 + {safeVMData.filter((vm) => vm.status === "running").length > 0 ? ( - (vmData.reduce((sum, vm) => sum + (vm.cpu || 0), 0) / - vmData.filter((vm) => vm.status === "running").length) * + (safeVMData.reduce((sum, vm) => sum + (vm.cpu || 0), 0) / + safeVMData.filter((vm) => vm.status === "running").length) * 100 ).toFixed(0) : 0} @@ -305,11 +324,11 @@ export function VirtualMachines() { - {vmData.length === 0 ? ( + {safeVMData.length === 0 ? (
No virtual machines found
) : (
- {vmData.map((vm) => { + {safeVMData.map((vm) => { const cpuPercent = (vm.cpu * 100).toFixed(1) const memPercent = vm.maxmem > 0 ? ((vm.mem / vm.maxmem) * 100).toFixed(1) : "0" const memGB = (vm.mem / 1024 ** 3).toFixed(1)