Files
Bratonien-Adventskalender/adventskalender/shared/js/door-open.js

49 lines
1.7 KiB
JavaScript

document.querySelectorAll(".door, .fluegel").forEach(elem => {
elem.addEventListener("click", () => {
const day = elem.dataset.day;
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
const gifts = window.gifts || {}; // globale Geschenk-Liste (aus popup.js)
const gift = gifts[day] || "<p>Heute ist noch nichts freigeschaltet.</p>";
// === EINZELTÜR ===
if (elem.classList.contains("door")) {
elem.classList.toggle("open");
if (openfield) openfield.classList.toggle("open");
showGiftPopup(gift);
return;
}
// === DOPPELFLÜGEL ===
if (elem.classList.contains("fluegel")) {
const left = document.querySelector(`.fluegel.left[data-day="${day}"]`);
const right = document.querySelector(`.fluegel.right[data-day="${day}"]`);
if (left && right) {
left.classList.toggle("rota");
right.classList.toggle("rota");
}
if (openfield) openfield.classList.toggle("open");
showGiftPopup(gift);
}
});
});
/* === Popup-Funktion === */
function showGiftPopup(html) {
const overlay = document.getElementById("popup-overlay");
const content = document.getElementById("popup-content");
if (!overlay || !content) return;
content.innerHTML = html;
overlay.style.display = "flex";
}
/* === Schließen-Logik (einmalig) === */
document.addEventListener("DOMContentLoaded", () => {
const overlay = document.getElementById("popup-overlay");
const closeBtn = document.getElementById("popup-close");
if (!overlay || !closeBtn) return;
closeBtn.addEventListener("click", () => (overlay.style.display = "none"));
overlay.addEventListener("click", e => {
if (e.target === overlay) overlay.style.display = "none";
});
});