From e3d5d9f2fc1b111068a03a652dd110282c52bde6 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Sat, 22 Nov 2025 03:27:49 +0100 Subject: [PATCH] commit --- public/assets/js/header.js | 42 +++++++++++++++++++++++++++++++++++--- src/auth/logout.php | 20 +++++++++--------- 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/public/assets/js/header.js b/public/assets/js/header.js index 925c8df..95386a0 100644 --- a/public/assets/js/header.js +++ b/public/assets/js/header.js @@ -1,6 +1,44 @@ // public/assets/js/header.js document.addEventListener('DOMContentLoaded', function () { + // ------------------------- + // Login-Button + // ------------------------- + const loginBtn = document.getElementById('loginButton'); + + if (loginBtn) { + loginBtn.addEventListener('click', function (event) { + event.preventDefault(); + + const currentPath = window.location.pathname || '/'; + const currentQuery = window.location.search || ''; + const redirect = currentPath + currentQuery; + + // Sprache aus dem Label oben ziehen, falls vorhanden + const langLabelEl = document.getElementById('langCurrentLabel'); + let lang = 'de'; + if (langLabelEl && langLabelEl.textContent) { + lang = langLabelEl.textContent.trim().toLowerCase(); + } + + // Wenn wir bereits auf /login sind → nur zum #auth scrollen + if (currentPath === '/login' || currentPath === '/login/') { + const authEl = document.getElementById('auth'); + if (authEl) { + authEl.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } + return; + } + + // Sonst: auf Login-Seite mit lang + redirect-Parameter + const url = '/login/?lang=' + encodeURIComponent(lang) + + '&redirect=' + encodeURIComponent(redirect) + + '#auth'; + + window.location.href = url; + }); + } + // ------------------------- // Avatar-Menü ein-/ausblenden // ------------------------- @@ -45,7 +83,6 @@ document.addEventListener('DOMContentLoaded', function () { if (!backdrop) return; backdrop.classList.remove('hidden'); - // kleine Fokushilfe: Escape schließt, Klick auf Hintergrund auch document.body.classList.add('overflow-hidden'); } @@ -56,7 +93,6 @@ document.addEventListener('DOMContentLoaded', function () { logoutTarget = null; } - // Logout-Link(s) abfangen if (logoutButtons.length && backdrop && btnConfirm && btnCancel) { logoutButtons.forEach(function (btn) { btn.addEventListener('click', function (event) { @@ -90,7 +126,7 @@ document.addEventListener('DOMContentLoaded', function () { hideLogoutModal(); }); - // Klick auf Hintergrund (außerhalb der Card) schließt ebenfalls + // Klick auf Hintergrund schließt Modal backdrop.addEventListener('click', function (event) { const card = backdrop.querySelector('div.w-full.max-w-sm'); if (card && !card.contains(event.target)) { diff --git a/src/auth/logout.php b/src/auth/logout.php index 8392255..a8b4a12 100644 --- a/src/auth/logout.php +++ b/src/auth/logout.php @@ -1,22 +1,22 @@