From 989006b6a6935e7ab869a93e6737493b4ac29ba5 Mon Sep 17 00:00:00 2001 From: qcigano Date: Mon, 3 Aug 2026 22:36:38 +0200 Subject: [PATCH] Verwaltung: Auswertung erst per Klick einblenden, direkt unter den Kisten MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bestseller/Herkunft/Stammkundschaft nahmen bisher immer Platz auf der Seite ein, auch ohne Bestellungen zum Auswerten. Jetzt standardmäßig eingeklappt hinter einem "📊 Auswertung anzeigen"-Knopf direkt unter der Bestellstatus-/Kennzahlen-Kiste — ein Klick blendet alle drei Auswertungs-Kisten sofort an genau dieser Stelle ein (vor der Bestellliste), erneuter Klick klappt sie wieder ein. Mit echtem Klick-Test verifiziert. Co-Authored-By: Claude Sonnet 5 --- src/pages/verwaltung/index.astro | 134 ++++++++++++++++++------------- src/styles/global.css | 16 ++++ 2 files changed, 94 insertions(+), 56 deletions(-) diff --git a/src/pages/verwaltung/index.astro b/src/pages/verwaltung/index.astro index bda97b7..d1b596f 100644 --- a/src/pages/verwaltung/index.astro +++ b/src/pages/verwaltung/index.astro @@ -137,6 +137,64 @@ const lang: Locale = "de"; + {/* Auswertung (Bestseller/Herkunft/Stammkundschaft) ist standardmäßig eingeklappt und + erscheint per Klick sofort hier, direkt unter den beiden Kisten oben — statt immer + Platz auf der Seite zu belegen, bevor man überhaupt Bestellungen zum Auswerten hat. */} +
+
+ + + +
+
+
@@ -188,62 +246,6 @@ const lang: Locale = "de";
-
-
-
-
- -

Bestseller je Kategorie

-
-
- -
-
-
-
-
- -
-
-
-
- -

Herkunft der Bestellungen

-
-
- -
-
-
-
-
- -
-
-
-
- -

Stammkundschaft

-
-
- -
-
-
-
-
@@ -724,6 +726,26 @@ const lang: Locale = "de"; document.getElementById("verwaltung-new-refresh-btn")?.addEventListener("click", ladeUndRendere); document.getElementById("verwaltung-retry-btn")?.addEventListener("click", ladeUndRendere); + // ── Auswertung (Bestseller/Herkunft/Stammkundschaft): standardmäßig eingeklappt, erscheint + // per Klick sofort unter der Bestellstatus-/Kennzahlen-Kiste. ── + const auswertungToggleBtn = document.getElementById("verwaltung-auswertung-toggle"); + const auswertungWrapper = document.getElementById("verwaltung-auswertung-wrapper"); + auswertungToggleBtn?.addEventListener("click", () => { + const eingeklappt = auswertungWrapper.hasAttribute("hidden"); + if (eingeklappt) { + auswertungWrapper.removeAttribute("hidden"); + auswertungToggleBtn.setAttribute("aria-expanded", "true"); + auswertungToggleBtn.classList.add("is-open"); + auswertungToggleBtn.innerHTML = ' Auswertung ausblenden '; + auswertungWrapper.scrollIntoView({ behavior: "smooth", block: "start" }); + } else { + auswertungWrapper.setAttribute("hidden", ""); + auswertungToggleBtn.setAttribute("aria-expanded", "false"); + auswertungToggleBtn.classList.remove("is-open"); + auswertungToggleBtn.innerHTML = ' Auswertung anzeigen '; + } + }); + // ── CSV-Export: exportiert genau die aktuell sichtbare (gefilterte) Liste — für die // Buchhaltung/Steuer, komplett clientseitig, keine Serverkosten. ── document.getElementById("verwaltung-csv-btn").addEventListener("click", () => { diff --git a/src/styles/global.css b/src/styles/global.css index 50c3723..b061765 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -2937,6 +2937,22 @@ a:focus-visible, button:focus-visible { .verwaltung-box-empty p { margin: 0; } .verwaltung-box-empty p:first-of-type { color: var(--c-text); font-weight: 600; font-size: 1.02rem; } +/* Ein-/Ausklapp-Knopf für die Auswertung — steht direkt unter der Bestellstatus-/Kennzahlen- + Kiste, die Auswertungs-Kisten selbst bleiben bis zum Klick unsichtbar (siehe [hidden] auf + #verwaltung-auswertung-wrapper), damit sie nicht permanent Platz beanspruchen. */ +.verwaltung-auswertung-toggle { + display: inline-flex; + align-items: center; + gap: 0.5em; + border-color: color-mix(in srgb, #e3b23c 45%, transparent); + color: var(--c-text); +} +.verwaltung-auswertung-toggle:hover { border-color: #e3b23c; background: color-mix(in srgb, #e3b23c 12%, transparent); } +.verwaltung-toggle-chevron { transition: transform 0.2s var(--ease); } +.verwaltung-auswertung-toggle.is-open .verwaltung-toggle-chevron { transform: rotate(180deg); } +#verwaltung-auswertung-wrapper { margin-top: 1rem; } +#verwaltung-auswertung-wrapper[hidden] { display: none; } + /* Hero-Kopf: dieselbe "besondere" Formsprache wie die anderen Premium-Karten der Seite (wanderndes Verlaufslicht + pulsierender Rand + Funkeln), passend zu einer Seite, die "alles übertrifft" — nur dezenter/edler gehalten, weil es ein Arbeits-Dashboard ist, kein Verkaufs-