[Web] Login-Screen + Responsive Navigation (Follow-up zu #123 + #124) #128

Closed
opened 2026-04-27 08:19:35 +02:00 by admin-mrrm · 0 comments
Owner

Kontext

#123 und #124 wurden für die Mobile-App (Expo) umgesetzt. Die Web-App hat aktuell:

  • Rudimentäre Top-Bar-Navigation (Layout.tsx) statt Sidebar
  • Kein dedizierter Login-Screen — requireAuth leitet direkt zum OAuth-Provider weiter (Full-Page-Redirect)
  • Kein aktiver Menüeintrag wird hervorgehoben

Aufgaben

Login-Screen (#123 Web)

  • /login-Route anlegen (src/routes/login.tsx) mit Sign-In-Button und Fehlermeldung
  • requireAuth anpassen: statt direktem window.location.assign → Router-Redirect nach /login?returnTo=...
  • Nach erfolgreichem Auth-Callback: Redirect zur ursprünglichen Route (via returnTo-Parameter)

Responsive Navigation (#124 Web)

  • Layout.tsx umbauen: persistente Sidebar ab Tablet-Breakpoint, kollabierbare Top-/Bottom-Navigation auf Mobile
  • Menü-Einträge aus Mobile übernehmen: Einkaufen, Listen, Einstellungen (Stores)
  • Aktiven Menüeintrag hervorheben (TanStack Router activeProps / useMatch)
  • Breakpoint-Logik analog zu Mobile (useIsWideScreen-Hook oder Tamagui-Media-Query)

Referenz

## Kontext #123 und #124 wurden für die Mobile-App (Expo) umgesetzt. Die Web-App hat aktuell: - Rudimentäre Top-Bar-Navigation (Layout.tsx) statt Sidebar - Kein dedizierter Login-Screen — `requireAuth` leitet direkt zum OAuth-Provider weiter (Full-Page-Redirect) - Kein aktiver Menüeintrag wird hervorgehoben ## Aufgaben ### Login-Screen (#123 Web) - [ ] `/login`-Route anlegen (`src/routes/login.tsx`) mit Sign-In-Button und Fehlermeldung - [ ] `requireAuth` anpassen: statt direktem `window.location.assign` → Router-Redirect nach `/login?returnTo=...` - [ ] Nach erfolgreichem Auth-Callback: Redirect zur ursprünglichen Route (via `returnTo`-Parameter) ### Responsive Navigation (#124 Web) - [ ] `Layout.tsx` umbauen: persistente Sidebar ab Tablet-Breakpoint, kollabierbare Top-/Bottom-Navigation auf Mobile - [ ] Menü-Einträge aus Mobile übernehmen: Einkaufen, Listen, Einstellungen (Stores) - [ ] Aktiven Menüeintrag hervorheben (TanStack Router `activeProps` / `useMatch`) - [ ] Breakpoint-Logik analog zu Mobile (`useIsWideScreen`-Hook oder Tamagui-Media-Query) ## Referenz - Mobile-Umsetzung: #123, #124 - Eltern-Idee: #111
Sign in to join this conversation.
No milestone
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#128
No description provided.