feat(mobile): App-Grundstruktur — Navigation & Auth-UX #126

Merged
admin-mrrm merged 2 commits from feat/app-navigation-auth into main 2026-04-27 07:52:41 +02:00
Owner

Summary

  • Responsive Navigation: Tamagui Drawer auf Mobile, persistente Sidebar ab 768 px (Tablet/Web)
  • Menue: Einkaufen, Listen, Einstellungen, User-Info (Platzhalter fuer #125)
  • Route Guard im Drawer-Layout: unauthentifizierte Nutzer → /login?returnTo=...
  • Login-Screen oeffnet Keycloak im System-Browser; nach Erfolg Redirect zurueck zur urspruenglichen Route
  • useAuthState-Hook mit App-Start-Check und reaktiver onChange-Subscription
  • Dev-Modus (kein Keycloak) wird als authentifiziert durchgelassen

Closes #123, closes #124
Milestone: App-Grundstruktur: Navigation & Auth-UX

Test plan

  • App startet ohne Absturz
  • Nicht eingeloggt → Redirect zu /login
  • Login-Button oeffnet Keycloak im Browser
  • Nach erfolgreichem Login → Weiterleitung zur Ursprungsroute
  • Menue-Eintraege navigieren korrekt
  • Auf schmalen Screens: Burger-Menue sichtbar
  • Auf breiten Screens (>= 768 px): Sidebar permanent sichtbar
  • Aktiver Menue-Eintrag wird hervorgehoben
  • Dev-Modus (kein EXPO_PUBLIC_KC_ISSUER): kein Login-Redirect, App direkt nutzbar
## Summary - Responsive Navigation: Tamagui Drawer auf Mobile, persistente Sidebar ab 768 px (Tablet/Web) - Menue: Einkaufen, Listen, Einstellungen, User-Info (Platzhalter fuer #125) - Route Guard im Drawer-Layout: unauthentifizierte Nutzer → `/login?returnTo=...` - Login-Screen oeffnet Keycloak im System-Browser; nach Erfolg Redirect zurueck zur urspruenglichen Route - `useAuthState`-Hook mit App-Start-Check und reaktiver `onChange`-Subscription - Dev-Modus (kein Keycloak) wird als authentifiziert durchgelassen Closes #123, closes #124 Milestone: App-Grundstruktur: Navigation & Auth-UX ## Test plan - [ ] App startet ohne Absturz - [ ] Nicht eingeloggt → Redirect zu `/login` - [ ] Login-Button oeffnet Keycloak im Browser - [ ] Nach erfolgreichem Login → Weiterleitung zur Ursprungsroute - [ ] Menue-Eintraege navigieren korrekt - [ ] Auf schmalen Screens: Burger-Menue sichtbar - [ ] Auf breiten Screens (>= 768 px): Sidebar permanent sichtbar - [ ] Aktiver Menue-Eintrag wird hervorgehoben - [ ] Dev-Modus (kein `EXPO_PUBLIC_KC_ISSUER`): kein Login-Redirect, App direkt nutzbar
feat(mobile): App-Grundstruktur — Navigation & Auth-UX
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
5681ca2a10
Closes #123, closes #124

- Responsive Navigation (Drawer auf Mobile, Sidebar ab 768 px)
  mit Menüeinträgen Einkaufen, Listen, Einstellungen, User-Info
- Route Guard im Drawer-Layout: unauthentifizierte Nutzer werden
  zu /login weitergeleitet (returnTo-Parameter für Rückkehr)
- Login-Screen öffnet Keycloak im System-Browser via performLogin;
  Dev-Modus ohne Keycloak wird als authentifiziert behandelt
- useAuthState-Hook: reaktiver Auth-Zustand mit App-Start-Check
  und onChange-Subscription
- GestureHandlerRootView im Root-Layout ergänzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merge branch 'main' into feat/app-navigation-auth
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
5bca69e6c7
admin-mrrm deleted branch feat/app-navigation-auth 2026-04-27 07:52:41 +02:00
Sign in to join this conversation.
No reviewers
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!126
No description provided.