diff --git a/web/src/app/home/monitoring/components/overview-cards/SystemStatusCards.tsx b/web/src/app/home/monitoring/components/overview-cards/SystemStatusCards.tsx index 4eae8b55..c5e58f3a 100644 --- a/web/src/app/home/monitoring/components/overview-cards/SystemStatusCards.tsx +++ b/web/src/app/home/monitoring/components/overview-cards/SystemStatusCards.tsx @@ -37,8 +37,8 @@ export default function SystemStatusCard() { const [boxStatus, setBoxStatus] = useState(null); const [loading, setLoading] = useState(true); - const fetchStatus = useCallback(async () => { - setLoading(true); + const fetchStatus = useCallback(async (showLoading = false) => { + if (showLoading) setLoading(true); try { const [plugin, box] = await Promise.all([ httpClient.getPluginSystemStatus().catch(() => null), @@ -47,12 +47,14 @@ export default function SystemStatusCard() { setPluginStatus(plugin); setBoxStatus(box); } finally { - setLoading(false); + if (showLoading) setLoading(false); } }, []); useEffect(() => { - fetchStatus(); + fetchStatus(true); + const interval = setInterval(() => fetchStatus(false), 30_000); + return () => clearInterval(interval); }, [fetchStatus]); const pluginOk = pluginStatus @@ -78,7 +80,11 @@ export default function SystemStatusCard() { } return ( - + { + if (open) fetchStatus(false); + }} + >