diff --git a/server/backend/internal/httpapi/manage/ui.go b/server/backend/internal/httpapi/manage/ui.go index 9dbba36..5c94d40 100644 --- a/server/backend/internal/httpapi/manage/ui.go +++ b/server/backend/internal/httpapi/manage/ui.go @@ -323,6 +323,7 @@ func HandleScreenOverview(screens *store.ScreenStore, notifier *mqttnotifier.Not func HandleManageUI( tenants *store.TenantStore, screens *store.ScreenStore, + schedules *store.ScreenScheduleStore, media *store.MediaStore, playlists *store.PlaylistStore, cfg config.Config, @@ -384,6 +385,11 @@ func HandleManageUI( displayState, _ := screens.GetDisplayState(r.Context(), screen.ID) + schedule, _ := schedules.Get(r.Context(), screen.ID) + if schedule == nil { + schedule = &store.ScreenSchedule{ScreenID: screen.ID} + } + // Determine back-navigation based on ?from= query parameter. backLink := "/admin" backLabel := "← Admin" @@ -436,6 +442,7 @@ func HandleManageUI( "ServerTimezone": serverTimezone, "CSRFToken": csrfToken, "DisplayState": displayState, + "Schedule": schedule, }) } } diff --git a/server/backend/internal/httpapi/router.go b/server/backend/internal/httpapi/router.go index 556f9b5..753571e 100644 --- a/server/backend/internal/httpapi/router.go +++ b/server/backend/internal/httpapi/router.go @@ -166,7 +166,7 @@ func registerManageRoutes(mux *http.ServeMux, d RouterDeps) { mux.Handle("GET /manage", authOnly(http.HandlerFunc(manage.HandleScreenOverview(d.ScreenStore, notifier, d.Config)))) mux.Handle("GET /manage/{screenSlug}", - authScreen(http.HandlerFunc(manage.HandleManageUI(d.TenantStore, d.ScreenStore, d.MediaStore, d.PlaylistStore, d.Config, notifier)))) + authScreen(http.HandlerFunc(manage.HandleManageUI(d.TenantStore, d.ScreenStore, d.ScheduleStore, d.MediaStore, d.PlaylistStore, d.Config, notifier)))) mux.Handle("POST /manage/{screenSlug}/upload", authScreen(http.HandlerFunc(manage.HandleUploadMediaUI(d.MediaStore, d.ScreenStore, uploadDir)))) mux.Handle("POST /manage/{screenSlug}/items",