adventskalender/shared/js/door-open.js aktualisiert

This commit is contained in:
2025-11-04 19:59:49 +00:00
parent 1e9e04fef8
commit bb819ba761

View File

@@ -1,17 +1,14 @@
// Öffnungslogik für Einzeltüren
document.querySelectorAll(".door").forEach(door => { document.querySelectorAll(".door").forEach(door => {
door.addEventListener("click", () => { door.addEventListener("click", () => {
const day = door.dataset.day; 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}"]`); const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
// === Doppeltür-Logik ===
if (door.classList.contains("double")) { if (door.classList.contains("double")) {
if (door.classList.contains("open")) { if (door.classList.contains("open")) {
console.log(`Doppeltür ${day} erneut geöffnet`); console.log(`Doppeltür ${day} erneut geöffnet`);
return; return;
} }
door.classList.add("open"); door.classList.add("open");
const leftFluegel = door.querySelector(".fluegel.left"); const leftFluegel = door.querySelector(".fluegel.left");
@@ -24,7 +21,6 @@ document.querySelectorAll(".door").forEach(door => {
return; return;
} }
// === Einzeltür-Logik ===
if (door.classList.contains("open")) { if (door.classList.contains("open")) {
console.log(`Tür ${day} erneut geöffnet`); console.log(`Tür ${day} erneut geöffnet`);
return; return;
@@ -33,4 +29,28 @@ document.querySelectorAll(".door").forEach(door => {
door.classList.add("open"); door.classList.add("open");
if (openfield) openfield.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);
});
}); });