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"}} + + + + + + {{ .Device.Name }} - TV Mode + + + + +
+
+ {{ range .Device.Apps }} + {{ if .Enabled }} +
+ +
+ {{ end }} + {{ end }} +
+
+
+ {{ .Device.Name }} Live Monitor +
+ +
+
+ + +{{end}} diff --git a/web/templates/partials/device_card.html b/web/templates/partials/device_card.html index 8a400d09..93af0d1b 100644 --- a/web/templates/partials/device_card.html +++ b/web/templates/partials/device_card.html @@ -172,6 +172,12 @@

style="min-width: 100px" href="/devices/{{ .Item.ID }}/firmware"> {{ t .Localizer "Firmware" }} {{ end }} + + {{ t .Localizer "TV Mode" }} + {{ end }}