aboutsummaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-19 18:37:16 -0800
committerFuwn <[email protected]>2026-01-19 18:37:16 -0800
commitdb17158de7bd7b0a9656893c0c36c6b198b0d713 (patch)
treeebc51b6c4ac52edf73612d37468076afbafe0d1b /internal/server
parentfix: Preserve config formatting when updating reset flag (diff)
downloadkaze-db17158de7bd7b0a9656893c0c36c6b198b0d713.tar.xz
kaze-db17158de7bd7b0a9656893c0c36c6b198b0d713.zip
feat: Add disable_ping_tooltips option to hide ping hover details
Add monitor-level option to disable hover tooltips on individual ping bars. Can be set at group defaults or per-monitor. When enabled, visual appearance remains unchanged but tooltips no longer appear on hover.
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go30
-rw-r--r--internal/server/templates/index.html4
2 files changed, 18 insertions, 16 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index d0f6fa5..8681873 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -141,18 +141,19 @@ type GroupData struct {
// MonitorData contains data for a single monitor
type MonitorData struct {
- Name string
- Type string
- Status string
- StatusClass string
- ResponseTime int64
- UptimePercent float64
- Ticks []*storage.TickData // Aggregated tick data for history bar
- SSLDaysLeft int
- SSLExpiryDate time.Time
- SSLTooltip string // JSON data for SSL expiration tooltip
- LastCheck time.Time
- LastError string
+ Name string
+ Type string
+ Status string
+ StatusClass string
+ ResponseTime int64
+ UptimePercent float64
+ Ticks []*storage.TickData // Aggregated tick data for history bar
+ SSLDaysLeft int
+ SSLExpiryDate time.Time
+ SSLTooltip string // JSON data for SSL expiration tooltip
+ LastCheck time.Time
+ LastError string
+ DisablePingTooltips bool
}
// IncidentData contains data for an incident
@@ -216,8 +217,9 @@ func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
for _, monCfg := range group.Monitors {
md := MonitorData{
- Name: monCfg.Name,
- Type: monCfg.Type,
+ Name: monCfg.Name,
+ Type: monCfg.Type,
+ DisablePingTooltips: monCfg.DisablePingTooltips,
}
if stat, ok := stats[monCfg.Name]; ok {
diff --git a/internal/server/templates/index.html b/internal/server/templates/index.html
index 7713c23..f136e51 100644
--- a/internal/server/templates/index.html
+++ b/internal/server/templates/index.html
@@ -116,10 +116,10 @@
<!-- History Bar -->
<div class="mt-3 flex gap-px">
{{range .Ticks}}
- <div class="flex-1 h-6 rounded-sm {{tickColor .}}" data-tooltip='{{tickTooltipData . $.TickMode $.Timezone}}'></div>
+ <div class="flex-1 h-6 rounded-sm {{tickColor .}}"{{if not $.DisablePingTooltips}} data-tooltip='{{tickTooltipData . $.TickMode $.Timezone}}'{{end}}></div>
{{else}}
{{range seq $.TickCount}}
- <div class="flex-1 h-6 rounded-sm bg-neutral-200 dark:bg-neutral-800" data-tooltip='{"header":"No data"}'></div>
+ <div class="flex-1 h-6 rounded-sm bg-neutral-200 dark:bg-neutral-800"{{if not $.DisablePingTooltips}} data-tooltip='{"header":"No data"}'{{end}}></div>
{{end}}
{{end}}
</div>