(function () {
"use strict";
var TWITCH_CHANNEL = "duda_xd";
/* ------------------------------------------------------------------
* YouTube: Liest die Datei videos.json, die auf dem Server von
* fetch_videos.py (einmal am Tag per Cron) mit den aktuellen
* Video-IDs deines Kanals aktualisiert wird.
*
* Dein API-Key ist dabei NIE im Browser - er bleibt komplett auf
* dem Server versteckt (siehe fetch_videos.py).
* ------------------------------------------------------------------ */
function loadYouTube() {
var grid = document.getElementById("yt-grid");
if (!grid) return;
fetch("videos.json", { cache: "no-cache" })
.then(function (r) {
if (!r.ok) throw new Error("HTTP " + r.status);
return r.json();
})
.then(function (ids) {
if (!Array.isArray(ids) || !ids.length) {
grid.innerHTML = '
';
});
}
function renderYouTubeGrid(videoIds) {
var grid = document.getElementById("yt-grid");
var html = "";
for (var i = 0; i < videoIds.length; i++) {
var id = String(videoIds[i]).trim();
if (!id) continue;
html +=
'