Verwaltung: eigens gestalteter Abmelde-Button rechts über der Hero-Kiste

Neuer Endpunkt POST /gate-logout (functions/_middleware.js) löscht alle drei Zugangs-Cookies auf
einmal (normale 90-Tage-Sitzung, Rollen-Anzeige, tägliche Verwaltungs-Sitzung) — "abmelden"
bedeutet also wirklich abmelden von allem, nicht nur einen Teil der Schranke offen lassen. Button
im selben "besonderen" Look wie die Hero-Kiste darunter (wandernder Verlaufsrand in den drei
Markenfarben + Funkeln) statt eines schlichten Standard-Buttons.

Per curl (Cookie-Löschung + anschließende 302-Sperre auf /verwaltung/ und /) und per echtem
Browser-Klicktest (Playwright) end-to-end verifiziert.
This commit is contained in:
qcigano
2026-08-04 15:49:00 +02:00
parent ea9a2954d0
commit 99ddd43519
3 changed files with 93 additions and 0 deletions
+46
View File
@@ -3453,6 +3453,52 @@ a:focus-visible, button:focus-visible {
.verwaltung-box-chevron { transition: none; }
}
/* Abmelde-Button (04.08.2026, auf ausdrücklichen Wunsch): sitzt in einer eigenen Zeile rechts
über der Hero-Kiste. Eigene Zeile statt einfach in die Hero-Kiste gepackt — damit er auch dann
sofort auffindbar bleibt, wenn die Kiste selbst mal umgebaut wird. */
.verwaltung-topbar { display: flex; justify-content: flex-end; margin-top: 0.8rem; }
/* Bewusst genauso "besonders" gestaltet wie die Hero-Kiste direkt darunter (wandernder
Verlaufsrand in denselben drei Markenfarben + Funkeln) statt eines schlichten Standard-Buttons
— auf ausdrücklichen Wunsch ("der Button soll sehr speziell sein"). */
.verwaltung-logout-btn {
position: relative;
overflow: hidden;
display: inline-flex;
align-items: center;
gap: 0.5em;
padding: 0.65rem 1.3rem;
border-radius: 999px;
border: 1.5px solid transparent;
background:
linear-gradient(155deg, var(--c-anthracite-light), var(--c-anthracite)) padding-box,
linear-gradient(120deg, #5fd3ec, #9b7fd6, #e3b23c, #5fd3ec) border-box;
background-size: 100% 100%, 300% 100%;
animation: verwaltung-hero-shift 10s ease-in-out infinite;
color: var(--c-text);
font-family: inherit;
font-weight: 600;
font-size: 0.92rem;
cursor: pointer;
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.verwaltung-logout-btn:hover {
transform: translateY(-1px);
box-shadow: 0 8px 22px -8px color-mix(in srgb, #9b7fd6 55%, transparent);
}
.verwaltung-logout-btn:disabled { cursor: default; opacity: 0.75; transform: none; box-shadow: none; }
.verwaltung-logout-sparkle {
position: absolute;
top: 0.2rem;
right: 0.5rem;
font-size: 0.7rem;
pointer-events: none;
animation: account-nav-sparkle-twinkle 2.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
.verwaltung-logout-btn, .verwaltung-logout-sparkle { animation: 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-