'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 && }
);
}