diff --git a/internal/server/handlers_device.go b/internal/server/handlers_device.go index 9ef3147d..be9ac932 100644 --- a/internal/server/handlers_device.go +++ b/internal/server/handlers_device.go @@ -224,6 +224,18 @@ func (s *Server) handleCreateDevicePost(w http.ResponseWriter, r *http.Request) http.Redirect(w, r, "/", http.StatusSeeOther) } +func (s *Server) handleDeviceTV(w http.ResponseWriter, r *http.Request) { + user := GetUser(r) + localizer := s.getLocalizer(r) + device := GetDevice(r) // Middleware provides this + + s.renderTemplate(w, r, "device_tv", TemplateData{ + User: user, + Localizer: localizer, + Device: device, + }) +} + func (s *Server) handleUpdateDeviceGet(w http.ResponseWriter, r *http.Request) { user := GetUser(r) device := GetDevice(r) diff --git a/internal/server/server.go b/internal/server/server.go index 6f5ea7bc..53a4791c 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -66,6 +66,7 @@ var templateFiles = map[string]string{ "uploadapp": "manager/uploadapp.html", "firmware": "manager/firmware.html", "update": "manager/update.html", + "device_tv": "manager/device_tv.html", } func NewServer(db *gorm.DB, cfg *config.Settings) *Server { @@ -281,6 +282,9 @@ func (s *Server) routes() { s.Router.HandleFunc("POST /devices/{id}/update_firmware_settings", s.RequireLogin(s.RequireDevice(s.handleUpdateFirmwareSettings))) + // Add this line for the TV View endpoint + s.Router.HandleFunc("GET /devices/{id}/tv", s.RequireLogin(s.RequireDevice(s.handleDeviceTV))) + // Websocket routes s.SetupWebsocketRoutes() diff --git a/web/templates/manager/device_tv.html b/web/templates/manager/device_tv.html new file mode 100644 index 00000000..7bc19fc5 --- /dev/null +++ b/web/templates/manager/device_tv.html @@ -0,0 +1,145 @@ +{{define "device_tv"}} + + +
+ + +