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 (
{loading &&
Connecting…
}
{error &&
⚠ {error}
}
{data && (
<>
{data.node}
↑ {formatUptime(data.uptime)}
{data.storages.map(st => (
))}
{data.lxcCount}
LXC running
>
)}
)
}