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