diff --git a/public/js/quickmenu.js b/public/js/quickmenu.js index c24a44e..03318d3 100644 --- a/public/js/quickmenu.js +++ b/public/js/quickmenu.js @@ -1,17 +1,42 @@ +import { loadGlucksbox } from "./quickmenu/glucksbox.js"; +import { loadEvents } from "./quickmenu/events.js"; +import { loadHeldenbonus } from "./quickmenu/heldenbonus.js"; +import { loadSealedliga } from "./quickmenu/sealedliga.js"; +import { loadBeschwoerer } from "./quickmenu/beschwoerer.js"; +import { loadOnlinebonus } from "./quickmenu/onlinebonus.js"; +import { loadAktionen } from "./quickmenu/aktionen.js"; +import { loadBasar } from "./quickmenu/basar.js"; +import { loadBoosteraktion } from "./quickmenu/boosteraktion.js"; +import { loadBoosterjagd } from "./quickmenu/boosterjagd.js"; + +/* Popup-ID → Loader Funktion */ +const popupLoaders = { + "qm-popup-glucksbox": loadGlucksbox, + "qm-popup-events": loadEvents, + "qm-popup-heldenbonus": loadHeldenbonus, + "qm-popup-sealedliga": loadSealedliga, + "qm-popup-beschwoerer": loadBeschwoerer, + "qm-popup-onlinebonus": loadOnlinebonus, + "qm-popup-aktionen": loadAktionen, + "qm-popup-basar": loadBasar, + "qm-popup-boosteraktion": loadBoosteraktion, + "qm-popup-boosterjagd": loadBoosterjagd, +}; + /* ================================ Quick Menu – Toggle ================================ */ -const toggleBtn = document.getElementById("quickmenu-toggle"); -const panel = document.getElementById("quickmenu-panel"); -const overlay = document.getElementById("qm-overlay"); +const toggleBtn = document.getElementById("quickmenu-toggle"); +const panel = document.getElementById("quickmenu-panel"); +const overlay = document.getElementById("qm-overlay"); let menuOpen = true; toggleBtn.addEventListener("click", () => { menuOpen = !menuOpen; panel.classList.toggle("hidden", !menuOpen); - toggleBtn.textContent = menuOpen ? "◀" : "▶"; + toggleBtn.textContent = menuOpen ? "\u25c4" : "\u25ba"; }); /* ================================ @@ -28,6 +53,10 @@ document.querySelectorAll(".qm-slot").forEach((slot) => { overlay.classList.add("active"); popup.classList.add("active"); + + // Zugehörigen Loader aufrufen + const loader = popupLoaders[id]; + if (loader) loader(); }); }); @@ -36,14 +65,10 @@ document.querySelectorAll(".qm-slot").forEach((slot) => { ================================ */ document.querySelectorAll(".qm-popup-close").forEach((btn) => { - btn.addEventListener("click", () => { - closeAllPopups(); - }); + btn.addEventListener("click", closeAllPopups); }); -overlay.addEventListener("click", () => { - closeAllPopups(); -}); +overlay.addEventListener("click", closeAllPopups); function closeAllPopups() { document.querySelectorAll(".qm-popup").forEach((p) => { @@ -52,7 +77,6 @@ function closeAllPopups() { overlay.classList.remove("active"); } -/* Escape-Taste schließt Popup */ document.addEventListener("keydown", (e) => { if (e.key === "Escape") closeAllPopups(); }); diff --git a/public/js/quickmenu/aktionen.js b/public/js/quickmenu/aktionen.js new file mode 100644 index 0000000..b0511b2 --- /dev/null +++ b/public/js/quickmenu/aktionen.js @@ -0,0 +1,8 @@ +export async function loadAktionen() { + const body = document.getElementById("qm-body-aktionen"); + if (!body) return; + + body.innerHTML = ` +
Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/basar.js b/public/js/quickmenu/basar.js new file mode 100644 index 0000000..6a0c775 --- /dev/null +++ b/public/js/quickmenu/basar.js @@ -0,0 +1,8 @@ +export async function loadBasar() { + const body = document.getElementById("qm-body-basar"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/beschwoerer.js b/public/js/quickmenu/beschwoerer.js new file mode 100644 index 0000000..bf93e66 --- /dev/null +++ b/public/js/quickmenu/beschwoerer.js @@ -0,0 +1,8 @@ +export async function loadBeschwoerer() { + const body = document.getElementById("qm-body-beschwoerer"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/boosteraktion.js b/public/js/quickmenu/boosteraktion.js new file mode 100644 index 0000000..12f7fb4 --- /dev/null +++ b/public/js/quickmenu/boosteraktion.js @@ -0,0 +1,8 @@ +export async function loadBoosteraktion() { + const body = document.getElementById("qm-body-boosteraktion"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/boosterjagd.js b/public/js/quickmenu/boosterjagd.js new file mode 100644 index 0000000..ecd7317 --- /dev/null +++ b/public/js/quickmenu/boosterjagd.js @@ -0,0 +1,8 @@ +export async function loadBoosterjagd() { + const body = document.getElementById("qm-body-boosterjagd"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/events.js b/public/js/quickmenu/events.js new file mode 100644 index 0000000..720207d --- /dev/null +++ b/public/js/quickmenu/events.js @@ -0,0 +1,8 @@ +export async function loadEvents() { + const body = document.getElementById("qm-body-events"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/glucksbox.js b/public/js/quickmenu/glucksbox.js new file mode 100644 index 0000000..3089821 --- /dev/null +++ b/public/js/quickmenu/glucksbox.js @@ -0,0 +1,8 @@ +export async function loadGlucksbox() { + const body = document.getElementById("qm-body-glucksbox"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/heldenbonus.js b/public/js/quickmenu/heldenbonus.js new file mode 100644 index 0000000..c7e67bd --- /dev/null +++ b/public/js/quickmenu/heldenbonus.js @@ -0,0 +1,8 @@ +export async function loadHeldenbonus() { + const body = document.getElementById("qm-body-heldenbonus"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/onlinebonus.js b/public/js/quickmenu/onlinebonus.js new file mode 100644 index 0000000..5f54b3f --- /dev/null +++ b/public/js/quickmenu/onlinebonus.js @@ -0,0 +1,8 @@ +export async function loadOnlinebonus() { + const body = document.getElementById("qm-body-onlinebonus"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/public/js/quickmenu/sealedliga.js b/public/js/quickmenu/sealedliga.js new file mode 100644 index 0000000..ed4aca4 --- /dev/null +++ b/public/js/quickmenu/sealedliga.js @@ -0,0 +1,8 @@ +export async function loadSealedliga() { + const body = document.getElementById("qm-body-sealedliga"); + if (!body) return; + + body.innerHTML = ` +Inhalt folgt...
+ `; +} diff --git a/views/launcher.ejs b/views/launcher.ejs index 61ab067..6ce4010 100644 --- a/views/launcher.ejs +++ b/views/launcher.ejs @@ -324,7 +324,7 @@ Glücksbox ✕ -