From bb819ba76148833c9ff8f2aa998ea9a59f8ee0cf Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Tue, 4 Nov 2025 19:59:49 +0000 Subject: [PATCH] adventskalender/shared/js/door-open.js aktualisiert --- adventskalender/shared/js/door-open.js | 30 +++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/adventskalender/shared/js/door-open.js b/adventskalender/shared/js/door-open.js index ee1421d..17af182 100644 --- a/adventskalender/shared/js/door-open.js +++ b/adventskalender/shared/js/door-open.js @@ -1,17 +1,14 @@ +// Öffnungslogik für Einzeltüren document.querySelectorAll(".door").forEach(door => { door.addEventListener("click", () => { const day = door.dataset.day; - - // openfield immer unabhängig vom Türtyp selektieren (für Eintrag oder Doppeltür) const openfield = document.querySelector(`.openfield[data-day="${day}"]`); - // === Doppeltür-Logik === if (door.classList.contains("double")) { if (door.classList.contains("open")) { console.log(`Doppeltür ${day} erneut geöffnet`); return; } - door.classList.add("open"); const leftFluegel = door.querySelector(".fluegel.left"); @@ -24,7 +21,6 @@ document.querySelectorAll(".door").forEach(door => { return; } - // === Einzeltür-Logik === if (door.classList.contains("open")) { console.log(`Tür ${day} erneut geöffnet`); return; @@ -33,4 +29,28 @@ document.querySelectorAll(".door").forEach(door => { door.classList.add("open"); if (openfield) openfield.classList.add("open"); }); +}); + + +// Öffnungslogik für Flügeltüren (Doppeltür-Variante ohne Container-Wrapper) +const fluegelPaare = new Set(); +document.querySelectorAll(".fluegel").forEach(fluegel => { + fluegel.addEventListener("click", () => { + const day = fluegel.dataset.day; + const pairId = `day-${day}`; + if (fluegelPaare.has(pairId)) { + console.log(`Flügelpaar ${day} erneut geöffnet`); + return; + } + + const left = document.querySelector(`.fluegel.left[data-day="${day}"]`); + const right = document.querySelector(`.fluegel.right[data-day="${day}"]`); + const openfield = document.querySelector(`.openfield[data-day="${day}"]`); + + if (left) left.classList.add("open"); + if (right) right.classList.add("open"); + if (openfield) openfield.classList.add("open"); + + fluegelPaare.add(pairId); + }); }); \ No newline at end of file