diff --git a/client/components/admin/AdminStatusOverview.tsx b/client/components/admin/AdminStatusOverview.tsx index d48ed0b5..a846fbc4 100644 --- a/client/components/admin/AdminStatusOverview.tsx +++ b/client/components/admin/AdminStatusOverview.tsx @@ -44,25 +44,35 @@ export default function AdminStatusOverview({ ) : null; + const uptimeAccumulator = services.reduce( + (acc, service) => { + const asNumber = Number.parseFloat(service.uptime); + if (Number.isFinite(asNumber)) { + return { total: acc.total + asNumber, count: acc.count + 1 }; + } + return acc; + }, + { total: 0, count: 0 }, + ); + const averageUptime = - services.length > 0 - ? services.reduce((total, service) => { - const asNumber = Number.parseFloat(service.uptime); - return Number.isFinite(asNumber) ? total + asNumber : total; - }, 0) / services.length + uptimeAccumulator.count > 0 + ? uptimeAccumulator.total / uptimeAccumulator.count : null; const healthyServices = services.filter( (service) => service.status === "operational", ).length; + const OverallIcon = overall.Icon; + return (
-
- +
+
System health