From 1228dc9d58335f8250b00ebeb17bb8c589c1d03d Mon Sep 17 00:00:00 2001 From: Meleki Date: Thu, 12 Mar 2026 11:37:48 +0100 Subject: [PATCH] fix: Back-Button Fallback auf Dashboard wenn kein History-Eintrag - router.js: Back-Buttons navigieren zu data-page oder dashboard statt history.back() - chat-page.js: Chat Back-Button mit gleichem Fallback - Behebt Problem bei Direktlinks (z.B. #chat/123) ohne vorherigen SPA-Eintrag --- wwwroot/js/pages/chat-page.js | 8 +++++++- wwwroot/js/router.js | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/wwwroot/js/pages/chat-page.js b/wwwroot/js/pages/chat-page.js index 4d8d519..2f1b9da 100644 --- a/wwwroot/js/pages/chat-page.js +++ b/wwwroot/js/pages/chat-page.js @@ -267,7 +267,13 @@ registerPage('chat', { // Zurück zum Dashboard const backBtn = document.getElementById('chatBackBtn'); if (backBtn) { - backBtn.addEventListener('click', () => history.back()); + backBtn.addEventListener('click', () => { + if (history.state && history.length > 2) { + history.back(); + } else { + navigateTo('dashboard'); + } + }); } // Send / Stop diff --git a/wwwroot/js/router.js b/wwwroot/js/router.js index 3f41fb4..d50bf1e 100644 --- a/wwwroot/js/router.js +++ b/wwwroot/js/router.js @@ -46,7 +46,13 @@ async function navigateTo(page, params = {}, options = {}) { // Back-Buttons verdrahten document.querySelectorAll('.back-btn[data-page]').forEach(btn => { - btn.addEventListener('click', () => history.back()); + btn.addEventListener('click', () => { + if (history.state && history.length > 2) { + history.back(); + } else { + navigateTo(btn.dataset.page || 'dashboard'); + } + }); }); }