From dd3523ddd78b0f6f10b97a5f0ebfd6deb94a472b Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 5 Oct 2025 15:18:50 +0200 Subject: [PATCH] Update virtual-machines.tsx --- AppImage/components/virtual-machines.tsx | 60 ++++++++++++++++++++---- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/AppImage/components/virtual-machines.tsx b/AppImage/components/virtual-machines.tsx index ac5c561..f658fbf 100644 --- a/AppImage/components/virtual-machines.tsx +++ b/AppImage/components/virtual-machines.tsx @@ -96,6 +96,23 @@ const formatBytes = (bytes: number | undefined): string => { return `${(bytes / Math.pow(k, i)).toFixed(2)} ${sizes[i]}` } +const extractIPFromNetConfig = (netConfig: string | undefined): string | null => { + if (!netConfig) return null + + // Check for DHCP + if (netConfig.includes("ip=dhcp")) { + return "DHCP" + } + + // Extract static IP (format: ip=192.168.0.4/24) + const ipMatch = netConfig.match(/ip=([0-9.]+)/) + if (ipMatch && ipMatch[1]) { + return ipMatch[1] + } + + return null +} + export function VirtualMachines() { const { data: vmData, @@ -279,6 +296,12 @@ export function VirtualMachines() { const memoryBadge = getMemoryOvercommitBadge() + console.log("[v0] VM Data:", vmData) + console.log("[v0] Physical Memory GB:", physicalMemoryGB) + console.log("[v0] Total Allocated Memory GB:", totalAllocatedMemoryGB) + console.log("[v0] Is Memory Overcommit:", isMemoryOvercommit) + console.log("[v0] Memory Badge:", memoryBadge) + if (isLoading) { return (
@@ -577,9 +600,11 @@ export function VirtualMachines() {
Disk I/O
+ ↓ {formatBytes(selectedVM.diskread)}
+ ↑ {formatBytes(selectedVM.diskwrite)}
@@ -588,9 +613,11 @@ export function VirtualMachines() {
Network I/O
+ ↓ {formatBytes(selectedVM.netin)}
+ ↑ {formatBytes(selectedVM.netout)}
@@ -663,16 +690,31 @@ export function VirtualMachines() {
{Object.keys(vmDetails.config) .filter((key) => key.match(/^net\d+$/)) - .map((netKey) => ( -
-
- Network Interface {netKey.replace("net", "")} + .map((netKey) => { + const netConfig = vmDetails.config[netKey] + const extractedIP = extractIPFromNetConfig(netConfig) + + return ( +
+
+ Network Interface {netKey.replace("net", "")} +
+
+ {netConfig} +
+ {extractedIP && selectedVM.type === "lxc" && ( +
+ + IP: {extractedIP} + +
+ )}
-
- {vmDetails.config[netKey]} -
-
- ))} + ) + })} {vmDetails.config.nameserver && (
DNS Nameserver