From f830fe49679b175464b49225a3e5372fc634d111 Mon Sep 17 00:00:00 2001 From: Jonas <77726472+kobolol@users.noreply.github.com> Date: Sat, 18 Apr 2026 23:18:50 +0200 Subject: [PATCH] Brand/404: route to Dashboard and sync user Ensure brand click reliably routes to Dashboard by making navigateToBrandTarget async and fetching current user if not yet loaded (prevents misnavigation to Welcome). Update mobile account menu label to "Zum Dashboard". Change 404 page primary CTA/text to point to the Dashboard and make navigateBack fall back to Dashboard. Update codexInfo.md to document these changes and note the new codexinfo-komprimieren skill. --- GUI/src/Layout.vue | 20 ++++++++++++++++---- GUI/src/routes/404NotFound.vue | 8 +++++--- codexInfo.md | 5 +++++ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/GUI/src/Layout.vue b/GUI/src/Layout.vue index 6d9b0af..c6d9978 100644 --- a/GUI/src/Layout.vue +++ b/GUI/src/Layout.vue @@ -128,9 +128,21 @@ function toggleTheme() { applyTheme(isDarkTheme.value ? 'light' : 'dark') } -function navigateToBrandTarget() { - const targetRouteName = isAuthenticated.value ? 'Dashboard' : 'Home' - void router.push({ name: targetRouteName }) +async function navigateToBrandTarget() { + let resolvedUser = currentUser.value + + if (!resolvedUser) { + try { + resolvedUser = await fetchCurrentUser() + currentUser.value = resolvedUser + } catch { + resolvedUser = null + currentUser.value = null + } + } + + const targetRouteName = resolvedUser ? 'Dashboard' : 'Home' + await router.push({ name: targetRouteName }) } async function refreshAuthState(options: { force?: boolean } = {}) { @@ -288,7 +300,7 @@ watch( diff --git a/GUI/src/routes/404NotFound.vue b/GUI/src/routes/404NotFound.vue index 2e8b1c6..11b82e5 100644 --- a/GUI/src/routes/404NotFound.vue +++ b/GUI/src/routes/404NotFound.vue @@ -11,7 +11,7 @@ function navigateBack() { return } - router.push('/welcome') + router.push({ name: 'Dashboard' }) } @@ -29,11 +29,13 @@ function navigateBack() {

Seite nicht gefunden

Der Link ist ungültig oder die Seite wurde verschoben. Du kannst direkt zur - Startseite zurück oder die vorherige Ansicht öffnen. + Dashboard-Seite zurück oder die vorherige Ansicht öffnen.

- Zur Startseite + + Zum Dashboard + Zurück
diff --git a/codexInfo.md b/codexInfo.md index 869bd1d..4ac36fc 100644 --- a/codexInfo.md +++ b/codexInfo.md @@ -110,6 +110,8 @@ Ich baue alleine neben meiner Ausbildung eine einfache self-hosted Web-App für - Fehler werden jetzt global über einen Banner-Stack am unteren Seitenrand angezeigt (routeübergreifend, stapelbar, manuell schließbar). - Der globale Banner-Stack im Layout nutzt einen kontrollierten `z-index` und opake Hintergründe, damit Fehlermeldungen im Vordergrund bleiben und kaum durchscheinende Inhalte zeigen. - Klick auf Logo/Branding in der Topbar führt abhängig vom Auth-Status: angemeldet auf `Dashboard`, unangemeldet auf `Welcome`. +- 404-Seite verweist primär auf `Dashboard` (Button/Text), nicht mehr auf `Startseite`. +- Brand-Klick ist gegen Auth-Timing abgesichert: bei vorhandener Session führt Logo/Titel auch bei noch nicht synchronisiertem Layout-Status zuverlässig auf `Dashboard`. ## Änderungen durch Codex - Grundlegender UI-Neuaufbau der App-Shell (`GUI/src/Layout.vue`) inklusive Navigation, Footer und Seitenkontext. @@ -164,3 +166,6 @@ Ich baue alleine neben meiner Ausbildung eine einfache self-hosted Web-App für - `GUI/src/routes/authentication/Login.vue` von lokalem Inline-Fehler-Alert auf globale Banner-Meldungen umgestellt. - `GUI/src/Layout.vue` Banner-Polish: Banner-Hintergründe je Typ explizit opak getönt, Overlay-/Underlay-Transparenz deaktiviert und `z-index` auf `2100` zurückgesetzt. - `GUI/src/Layout.vue` Brand-Navigation ergänzt: Logo/Titel-Button nutzt jetzt `navigateToBrandTarget()` und leitet eingeloggte Nutzer auf `Dashboard`, sonst auf `Home` (`/welcome`). +- `GUI/src/routes/404NotFound.vue` angepasst: primärer CTA zeigt jetzt `Zum Dashboard` (Route `Dashboard`), Text aktualisiert und `navigateBack()` fällt ohne History ebenfalls auf `Dashboard` zurück. +- `GUI/src/Layout.vue` Brand-Navigation nachgeschärft: `navigateToBrandTarget()` löst bei Klick zuerst die Session via `fetchCurrentUser()` auf (falls lokal noch `null`) und verhindert dadurch Fehlnavigation auf `Welcome`; Mobile-Account-Menütext auf `Zum Dashboard` vereinheitlicht. +- Neuer globaler Skill `codexinfo-komprimieren` unter `C:/Users/famil/.codex/skills/codexinfo-komprimieren` erstellt; er liest `codexInfo.md`, verdichtet `Änderungen durch Codex` auf drei Kernzeilen und enthält ein Hilfsskript zum robusten Abschnitts-Update.