Spaces:
Sleeping
Sleeping
| package api | |
| import ( | |
| "bytes" | |
| "log/slog" | |
| "net/http" | |
| ) | |
| // handleDashboardPage renders the live-tracking dashboard HTML. The page needs | |
| // no server-injected data — its JavaScript derives the WebSocket URL from | |
| // window.location — so the template is executed with nil data. | |
| func (s *Server) handleDashboardPage(w http.ResponseWriter, _ *http.Request) { | |
| var buf bytes.Buffer | |
| if err := s.tmpl.ExecuteTemplate(&buf, "dashboard.html", nil); err != nil { | |
| slog.Error("render dashboard template", "err", err) | |
| http.Error(w, "could not render dashboard", http.StatusInternalServerError) | |
| return | |
| } | |
| w.Header().Set("Content-Type", "text/html; charset=utf-8") | |
| _, _ = w.Write(buf.Bytes()) | |
| } | |