'use client'; import { usePortal } from '@/lib/PortalContext'; import { getVitalsBg, getVitalsTrack } from '@/lib/stats'; function MiniBar({ label, percent, detail }: { label: string; percent: number; detail?: string }) { const bg = getVitalsBg(percent); const track = getVitalsTrack(percent); return (
{label}
{Math.round(percent)}% {detail && ( {detail} )}
); } export function VitalsBar() { const { systemStats, statsLoading, statsError } = usePortal(); if (statsError && !systemStats) return null; if (statsLoading && !systemStats) { return (
{[1, 2, 3].map(i => (
))}
); } if (!systemStats) return null; const ramDetail = `${(systemStats.ram_used_mb / 1024).toFixed(1)}/${(systemStats.ram_total_mb / 1024).toFixed(1)}G`; const showSwap = systemStats.swap_percent > 50; return (
{showSwap && }
); }