From 03ae5bf4adf56f6b64c77962a2a1387a33186739 Mon Sep 17 00:00:00 2001 From: Erik Thiele Date: Tue, 8 Sep 2026 09:04:38 +0200 Subject: [PATCH] feat: Priority-Eintraege in den Screen-Playlisten anzeigen Die Priority-Playlist gilt fuer alle Screens eines Standorts, liegt aber in einem eigenen Menuepunkt und wurde beim Bearbeiten der normalen Playlisten leicht uebersehen. Sie erscheint jetzt oberhalb jeder Screen-Playlist als abgesetzte, ausgegraute Liste mit Prio-Badge. Reine Anzeige: keine Checkbox, keine Buttons, kein Drag. Die Zeilen liegen bewusst in einer eigenen ul ausserhalb von #playlist-, damit savePlaylist() sie nicht mit einsammelt. Sichtbar nur, wenn die Priority-Playlist des Standorts aktiviert ist. Co-Authored-By: Claude Opus 5 --- app.py | 9 +++++++++ templates/admin.html | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/app.py b/app.py index 5b457c0..1b6be82 100755 --- a/app.py +++ b/app.py @@ -1554,12 +1554,21 @@ def admin(site): screen_status[screen_name] = "online" if screen_is_active(current_site, screen_name) else "offline" client_info[screen_name] = get_client_info(current_site, screen_name) + # Priority-Einträge des Standorts nur zur Anzeige mitgeben: sie gelten für + # alle Screens, sind aber in einem eigenen Menüpunkt und werden hier leicht + # übersehen. Bedienung bleibt ausschließlich auf der Priority-Seite. + prio_cfg = get_priority_config(cfg, current_site) if current_site else {} + priority_preview = [] + if current_site and prio_cfg.get("enabled", False): + priority_preview = [f for f in load_priority_files(current_site) if "enabled" in f] + return render_template( "admin.html", site_list=site_list, current_site=current_site, screens=screens, media_files=media_files, + priority_preview=priority_preview, screen_status=screen_status, client_info=client_info, version=APP_VERSION, diff --git a/templates/admin.html b/templates/admin.html index a8cf14f..8a4c726 100755 --- a/templates/admin.html +++ b/templates/admin.html @@ -52,6 +52,19 @@ gap: 0.75rem; } + /* ─── Prio-Vorschau: reine Anzeige, keine Bedienung ─── */ + .playlist-prio { + display: grid; + grid-template-columns: 28px 1fr 90px 80px; + align-items: center; + gap: 0.75rem; + opacity: 0.72; + background: var(--tblr-bg-surface-secondary, #f8f9fa); + } + .playlist-prio .playlist-name { + font-weight: 500; + } + .playlist-name { font-weight: 600; overflow: hidden; @@ -229,6 +242,32 @@
+ {% if priority_preview %} + +
    + {% for file in priority_preview %} +
  • + + + {{ file.name }} + {% if file.schedule %}Zeit{% endif %} + {% if not file.enabled %}inaktiv{% endif %} + + Prio + + {% if file.type == "url" %}{{ file.size }}{% else %}{{ file.size }} KB{% endif %} + +
  • + {% endfor %} +
+

+ Diese Einträge kommen aus der + Priority-Playlist + des Standorts und laufen allen Screens vorweg. Bearbeiten nur dort. +

+ {% endif %} +
    {% for file in media_files[screen] %}