aboutsummaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go48
-rw-r--r--internal/server/templates/index.html2
2 files changed, 26 insertions, 24 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 499ca31..92b0f09 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -154,24 +154,25 @@ type GroupData struct {
// MonitorData contains data for a single monitor
type MonitorData struct {
- Name string
- Type string
- Link template.URL // Custom URL for clicking the monitor name (trusted)
- Status string
- StatusClass string
- ResponseTime int64
- HidePing bool // Hide response time from display
- UptimePercent float64
- UptimeTooltip string // JSON data for uptime tooltip with last failure info
- 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
- LastFailure *time.Time // Time of last failure
- LastFailureError string // Error from last failure
- DisablePingTooltips bool
+ Name string
+ Type string
+ Link template.URL // Custom URL for clicking the monitor name (trusted)
+ Status string
+ StatusClass string
+ ResponseTime int64
+ HidePing bool // Hide response time from display
+ UptimePercent float64
+ UptimeTooltip string // JSON data for uptime tooltip with last failure info
+ 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
+ LastFailure *time.Time // Time of last failure
+ LastFailureError string // Error from last failure
+ DisablePingTooltips bool
+ DisableUptimeTooltip bool
}
// IncidentData contains data for an incident
@@ -251,11 +252,12 @@ func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
for _, monCfg := range group.Monitors {
md := MonitorData{
- Name: monCfg.Name,
- Type: monCfg.Type,
- Link: template.URL(monCfg.Link),
- HidePing: monCfg.HidePing,
- DisablePingTooltips: monCfg.DisablePingTooltips,
+ Name: monCfg.Name,
+ Type: monCfg.Type,
+ Link: template.URL(monCfg.Link),
+ HidePing: monCfg.HidePing,
+ DisablePingTooltips: monCfg.DisablePingTooltips,
+ DisableUptimeTooltip: monCfg.DisableUptimeTooltip,
}
if stat, ok := stats[monCfg.Name]; ok {
diff --git a/internal/server/templates/index.html b/internal/server/templates/index.html
index c192a66..be80544 100644
--- a/internal/server/templates/index.html
+++ b/internal/server/templates/index.html
@@ -104,7 +104,7 @@
</div>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
- <span class="text-sm font-medium {{if ge .UptimePercent 99.0}}text-emerald-600 dark:text-emerald-400{{else if ge .UptimePercent 95.0}}text-yellow-600 dark:text-yellow-400{{else}}text-red-600 dark:text-red-400{{end}}"{{if not $monitor.DisablePingTooltips}} data-tooltip='{{.UptimeTooltip}}'{{end}}>{{formatUptime .UptimePercent}}</span>
+ <span class="text-sm font-medium {{if ge .UptimePercent 99.0}}text-emerald-600 dark:text-emerald-400{{else if ge .UptimePercent 95.0}}text-yellow-600 dark:text-yellow-400{{else}}text-red-600 dark:text-red-400{{end}}"{{if not $monitor.DisableUptimeTooltip}} data-tooltip='{{.UptimeTooltip}}'{{end}}>{{formatUptime .UptimePercent}}</span>
</div>
</div>
<!-- History Bar -->