import { useEffect, useState } from "react"; import { IconCpu, IconServer, IconArrowsDownUp } from "@tabler/icons-react"; import * as api from "../api/backend/base"; export function SiteFooter() { const [sysStats, setSysStats] = useState({ cpu: 0, memory: 0, networkRx: "0.00", networkTx: "0.00" }); useEffect(() => { let isMounted = true; const fetchStats = async () => { try { const data = await api.get({ url: "/reports/system" }); if (isMounted && data) { setSysStats(data); } } catch (err) { // Silently fail polling to prevent console flood } }; // Initial fetch fetchStats(); // Poll every 1 second const interval = setInterval(fetchStats, 1000); return () => { isMounted = false; clearInterval(interval); }; }, []); return ( ); }