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.