/* ===================================================================== medien-welt.js — gemeinsame Render-Logik für die 3 Welten-Medienseiten (medien-dogfather.html / medien-hasidog.html / medien-casper.html) Jede der 3 Seiten setzt und lädt data-media.js, data-videos.js, data-aktionen.js VOR dieser Datei — so gibt es EIN Template/Skript für alle 3 Welten, ohne Code-Verdopplung. ===================================================================== */ function renderFotoItem(item) { const media = item.src ? `${item.alt}` : `
${item.alt}
Foto folgt
`; return ``; } function renderVideoItem(item) { const media = item.src ? `` : `
${item.title}
Video folgt
`; return `
${media}
${item.title}
`; } function renderAktionItem(a) { return ` ${a.tag} · ${a.status}

${a.title}

${a.summary}

Details ansehen →
`; } function bindLightbox() { const lb = document.getElementById("lightbox"); const lbContent = document.getElementById("lightbox-content"); if (!lb || !lbContent) return; document.querySelectorAll("#foto-grid .gallery-item").forEach((el) => { el.addEventListener("click", () => { lbContent.innerHTML = el.innerHTML; lb.classList.add("open"); }); }); } document.addEventListener("DOMContentLoaded", () => { const welt = document.body.dataset.welt; if (!welt) return; const fotoGrid = document.getElementById("foto-grid"); if (fotoGrid) { const fotos = (window.MEDIA || []).filter((m) => m.welt === welt); fotoGrid.innerHTML = fotos.map(renderFotoItem).join("") || `

Noch keine Fotos in dieser Welt.

`; bindLightbox(); } const videoGrid = document.getElementById("video-grid"); if (videoGrid) { const videos = (window.VIDEOS || []).filter((v) => v.welt === welt); videoGrid.innerHTML = videos.map(renderVideoItem).join("") || `

Noch keine Videos in dieser Welt.

`; } const aktionenGrid = document.getElementById("aktionen-grid"); if (aktionenGrid) { const aktionen = (window.AKTIONEN || []).filter((a) => a.welt === welt); aktionenGrid.innerHTML = aktionen.map(renderAktionItem).join("") || `

Aktuell keine Events in dieser Welt.

`; } const lb = document.getElementById("lightbox"); if (lb) { lb.addEventListener("click", (e) => { if (e.target === lb || e.target.closest(".lightbox-close")) lb.classList.remove("open"); }); document.addEventListener("keydown", (e) => { if (e.key === "Escape") lb.classList.remove("open"); }); } });