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

This commit is contained in:
2025-11-05 16:39:14 +00:00
parent 33229e8c2c
commit 5d46baf419

View File

@@ -1,5 +1,5 @@
// shared/js/door-open.js
// Bratonien Adventskalender Öffnungslogik
// Bratonien Adventskalender Öffnungslogik (inkl. Klick auf Openfield)
document.querySelectorAll(".door, .fluegel, .openfield").forEach(elem => {
elem.addEventListener("click", () => {
@@ -9,32 +9,40 @@ document.querySelectorAll(".door, .fluegel, .openfield").forEach(elem => {
const fluegelLinks = document.querySelector(`.fluegel.left[data-day="${day}"]`);
const fluegelRechts = document.querySelector(`.fluegel.right[data-day="${day}"]`);
// === Einzeltür ===
if (elem.classList.contains("door") || (elem.classList.contains("openfield") && doors.length > 0)) {
// === EINZELTÜR ===
if (
elem.classList.contains("door") ||
(elem.classList.contains("openfield") && doors.length > 0)
) {
const door = doors[0];
if (!door) return;
if (door.classList.contains("open")) {
console.log(`Tür ${day} erneut geöffnet`);
console.log(`Tür ${day} erneut geöffnet (auch via Openfield)`);
return;
}
door.classList.add("open");
if (openfield) openfield.classList.add("open");
console.log(`Tür ${day} geöffnet${elem.classList.contains("openfield") ? " (via Openfield)" : ""}`);
return;
}
// === Doppelflügeltür ===
if (elem.classList.contains("fluegel") || (elem.classList.contains("openfield") && fluegelLinks && fluegelRechts)) {
// === DOPPELFLÜGEL ===
if (
elem.classList.contains("fluegel") ||
(elem.classList.contains("openfield") && fluegelLinks && fluegelRechts)
) {
const alreadyOpen = document.querySelectorAll(`.fluegel[data-day="${day}"].rota`);
if (alreadyOpen.length === 2) {
console.log(`Flügeltür ${day} erneut geöffnet`);
console.log(`Flügeltür ${day} erneut geöffnet (auch via Openfield)`);
return;
}
if (fluegelLinks) fluegelLinks.classList.add("rota");
if (fluegelRechts) fluegelRechts.classList.add("rota");
if (openfield) openfield.classList.add("open");
console.log(`Flügeltür ${day} geöffnet${elem.classList.contains("openfield") ? " (via Openfield)" : ""}`);
}
});
});