diff --git a/app.py b/app.py index d47130d..84b6138 100755 --- a/app.py +++ b/app.py @@ -1039,7 +1039,8 @@ def player(site, screen): voice_agent_url=config.get("voice_agent_url", ""), voice_agent_label=screen_cfg.get("voice_agent_label", "Digitaler Assistent"), voice_agent_target=screen_cfg.get("voice_agent_target", "overlay"), - voice_agent_position=screen_cfg.get("voice_agent_position", "top-left") + voice_agent_position=screen_cfg.get("voice_agent_position", "top-left"), + player_params=dict(request.args) ) diff --git a/config.json b/config.json index 90b3479..1fbb3e5 100755 --- a/config.json +++ b/config.json @@ -19,7 +19,10 @@ "show_images": true, "show_videos": true, "playlist": [ - "welcome.html", + { + "name": "welcome.html", + "enabled": true + }, { "url": "https://www.meteoblue.com/en/meteotv/d7b0fd", "zoom": 1.0, diff --git a/templates/player.html b/templates/player.html index 8acce55..e9b90c1 100755 --- a/templates/player.html +++ b/templates/player.html @@ -324,7 +324,7 @@ // ─── Custom-URL/Voice-Agent-Overlay (open/close mit Zurück-Button-Position-Tracking) ─── function openOverlay(url, pos) { document.getElementById("overlay").style.display = "block"; - document.getElementById("overlay-iframe").src = url; + document.getElementById("overlay-iframe").src = appendParams(url, playerParams); var backBtn = document.getElementById("overlay-back"); backBtn.className = "overlay-back-" + (pos || "top-left"); } @@ -352,6 +352,14 @@ const interval = {{ interval }} * 1000; let stayOnFirst = {{ "true" if stay_on_first else "false" }}; const screen = "{{ screen }}"; const site = "{{ site }}"; +const playerParams = {{ player_params | tojson }}; + +// Query-Parameter aus der Player-URL an URLs anhängen +function appendParams(url, params) { + if (!params || Object.keys(params).length === 0) return url; + const sep = url.includes('?') ? '&' : '?'; + return url + sep + new URLSearchParams(params).toString(); +} // stayOnFirst: Player bleibt auf erstem Element (kein Timer/Advance) // ─── Player-Status ─── @@ -448,7 +456,7 @@ function playNext() { // URL im iframe anzeigen (mit Zoom-Unterstützung) if (item.kind === "url") { iframe.style.display = "block"; - iframe.src = item.url; + iframe.src = appendParams(item.url, playerParams); const zoom = item.zoom || 1.0; if (zoom !== 1.0) { const scale = 1 / zoom;