package http import ( "log/slog" stdhttp "net/http" ) // ui_repo.go — HTML form-driven repo-tab handlers (connection, // bandwidth caps, maintenance cadences, danger-zone re-init). Slice // 1 of P2R-02 lights the tab; slice 4 fills in the body. type hostRepoPage struct { hostChromeData } func (s *Server) handleUIHostRepo(w stdhttp.ResponseWriter, r *stdhttp.Request) { u := s.requireUIUser(w, r) if u == nil { return } host, ok := s.loadHostForUI(w, r) if !ok { return } view := s.baseView(u, "dashboard") view.Title = host.Name + " repo · restic-manager" view.Page = hostRepoPage{ hostChromeData: s.loadHostChrome(r, *host, "repo", "repo"), } if err := s.deps.UI.Render(w, "host_repo", view); err != nil { slog.Error("ui: render host_repo", "err", err) stdhttp.Error(w, "internal", stdhttp.StatusInternalServerError) } }