import { useApi } from '../../hooks/useApi' import { ProxmoxData } from '../../types' import { formatBytes, formatUptime, pct, barColor } from '../../utils' function ProgressBar({ label, value, total, color, valueLabel }: { label: string; value: number; total: number; color: string; valueLabel?: string }) { const p = pct(value, total) return (
{label} {valueLabel ?? `${p}% · ${formatBytes(value)} / ${formatBytes(total)}`}
) } export function ProxmoxWidget() { const { data, loading, error } = useApi('/api/proxmox/status') return (
Proxmox VE
M920q
{loading &&
Connecting…
} {error &&
⚠ {error}
} {data && ( <>
{data.node}
↑ {formatUptime(data.uptime)}
{data.storages.map(st => ( ))}
{data.lxcCount}
LXC running
{data.vmCount}
VMs
)}
) }