diff --git a/internal/tui/format.go b/internal/tui/format.go index b177f63..31f0881 100644 --- a/internal/tui/format.go +++ b/internal/tui/format.go @@ -104,6 +104,13 @@ func (m Model) fmtLatency(d time.Duration) string { return m.st.dangerStyle.Render(s) } +func (m Model) fmtUptimeMaint(statuses []bool, siteID int) string { + if m.isMonitorInMaintenance(siteID) { + return m.st.subtleStyle.Render("—") + } + return m.fmtUptime(statuses) +} + func (m Model) fmtUptime(statuses []bool) string { if len(statuses) == 0 { return m.st.subtleStyle.Render("—") diff --git a/internal/tui/tab_sites.go b/internal/tui/tab_sites.go index 45464a0..16493b2 100644 --- a/internal/tui/tab_sites.go +++ b/internal/tui/tab_sites.go @@ -299,7 +299,7 @@ func (m Model) viewSitesTab() string { colType: typeIcon(site.Type, false) + " " + site.Type, colStatus: m.fmtStatus(site.Status, site.Paused, m.isMonitorInMaintenance(site.ID)), colLatency: m.fmtLatency(site.Latency), - colUptime: m.fmtUptime(hist.Statuses), + colUptime: m.fmtUptimeMaint(hist.Statuses, site.ID), colHistory: spark, colSSL: m.fmtSSL(site), colRetries: m.fmtRetries(site), diff --git a/internal/tui/view_detail_inline.go b/internal/tui/view_detail_inline.go index 1d35f30..ebf6da3 100644 --- a/internal/tui/view_detail_inline.go +++ b/internal/tui/view_detail_inline.go @@ -53,7 +53,11 @@ func (m Model) viewDetailSidebar(site models.Site, hist monitor.SiteHistory, wid } // Uptime + retries - uptimeParts := []string{label.Render("Uptime") + " " + m.fmtUptime(hist.Statuses)} + uptimeStr := m.fmtUptime(hist.Statuses) + if m.isMonitorInMaintenance(site.ID) { + uptimeStr = m.st.subtleStyle.Render("—") + } + uptimeParts := []string{label.Render("Uptime") + " " + uptimeStr} if site.Type != "group" && site.MaxRetries > 0 { uptimeParts = append(uptimeParts, label.Render("Retries")+" "+m.fmtRetries(site)) }