From 5966c6dcbb95cf185eab2d4132265db860070b76 Mon Sep 17 00:00:00 2001 From: Bennet Gallein Date: Sat, 19 Apr 2025 17:20:08 +0200 Subject: [PATCH] fix: mark as warning when monitor is in maintenance --- components/MonitorDetail.tsx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/components/MonitorDetail.tsx b/components/MonitorDetail.tsx index d752905..bef1444 100644 --- a/components/MonitorDetail.tsx +++ b/components/MonitorDetail.tsx @@ -4,6 +4,7 @@ import { IconAlertCircle, IconCircleCheck } from '@tabler/icons-react' import DetailChart from './DetailChart' import DetailBar from './DetailBar' import { getColor } from '@/util/color' +import { maintenances } from '@/uptime.config' export default function MonitorDetail({ monitor, @@ -25,11 +26,32 @@ export default function MonitorDetail({ ) - const statusIcon = + let statusIcon = state.incident[monitor.id].slice(-1)[0].end === undefined ? ( - + ) : ( - + + ) + + // check in maintenances + const now = new Date() + const hasMaintenance = (maintenances || []) + .filter((m) => (!m.start && !m.end) || (m.start && m.end && now >= m.start && now <= m.end)) + .find((maintenance) => maintenance.monitors?.includes(monitor.id)) + if (hasMaintenance) + statusIcon = ( + ) let totalTime = Date.now() / 1000 - state.incident[monitor.id][0].start[0]