import { useEffect, useState } from 'react'; import { api } from '../../api/client'; import ComradeIndicators from '../Presence/ComradeIndicators'; import { usePresence } from '../../context/PresenceContext'; import '../Presence/Presence.css'; import './VisualComponents.css'; export default function SystemStatusBar() { const [serverOk, setServerOk] = useState(true); const [agentTotal, setAgentTotal] = useState(0); const [agentOnline, setAgentOnline] = useState(0); const [buildCount, setBuildCount] = useState(0); const { othersOnline } = usePresence(); useEffect(() => { const poll = async () => { try { await api.healthCheck(); setServerOk(true); } catch { setServerOk(false); } try { const agents = await api.listAgents(); setAgentTotal(agents.length); setAgentOnline(agents.filter((a) => a.status === 'online').length); } catch { setAgentTotal(0); setAgentOnline(0); } try { const builds = await api.listBuilds(); setBuildCount(builds.length); } catch { setBuildCount(0); } }; poll(); const id = setInterval(poll, 15000); return () => clearInterval(id); }, []); return (