feat(drawer): Dedizierter Todo-Bereich im Drawer (analog Einkaufen-Modus) #332

Closed
opened 2026-05-18 16:34:10 +02:00 by admin-mrrm · 2 comments
Owner

Motivation

Aktuell rendern /einkaufen und /listen beide denselben ListsOverviewScreen ohne Filter — faktisch Duplikate. Nach #112 wird /einkaufen zum dedizierten Shopping-Modus. Es fehlt analog ein Todo-Bereich für Listen mit type='todo'.

Besonders relevant durch:

  • #112 (Einkaufen-Modus) — Vorlage für die Spezialisierung
  • #329 (Tracking-Todo-Discoverability) — Tracking-Todos landen in einer 'Pakete'-Liste, die im Todo-Bereich besser sichtbar wäre als zwischen allen Listen gemischt
  • #330 ('Pakete'-Liste Filter-Bug) — separater Todo-Bereich macht die dedizierte Liste auch UX-seitig sichtbar

Scope

Mobile

  • Neuer Drawer-Eintrag Todo/todo in apps/mobile/src/components/drawer-navigation.tsx
  • Neue Route apps/mobile/app/(drawer)/todo.tsx analog einkaufen.tsx
  • Spezialisierter Todo-Screen (oder gefilterter ListsOverview auf type='todo') — Entscheidung im Issue:
    • Variante A: dedizierter TodoOverviewScreen mit eigener UX (z.B. Quick-Add, priorisierte Listen oben, abgehakte Items als Badge)
    • Variante B: ListsOverviewScreen mit filter={'todo'} Prop, dann kann der Erstell-Form nur Typ todo anlegen

Web

  • Pendant in apps/web/src/routes/layout.tsx ergänzen + Route anlegen (CLAUDE.md-Regel)

Filter-Logik (Shared)

  • ListsOverviewScreen Prop typeFilter?: ListType einführen, in /einkaufen (shopping), /todo (todo), /listen (alle) entsprechend nutzen
  • Create-Form respektiert Filter: bei aktivem Filter nur diesen Type anbieten

Akzeptanzkriterien

  • Todo-Eintrag im Drawer vorhanden (Mobile + Web)
  • /todo zeigt nur Listen mit type='todo'
  • Erstellen einer neuen Liste in /todo legt sie als type='todo' an (keine Type-Wahl)
  • Auto-erstellte 'Pakete'-Liste aus Tracking-Pipeline ist hier sichtbar (#329)
  • Reihenfolge respektiert Reorder-Feature (Folge-Issue / siehe verwandter Reorder-Issue)

Verwandt

  • #112 (Einkaufen-Modus) — Schwester-Issue, selbe Drawer-Spezialisierung
  • #329 (Tracking-Todo unsichtbar) — Todo-Bereich macht die 'Pakete'-Liste auffindbar
  • #330 ('Pakete'-Liste Filter-Bug) — beide Issues lösen zusammen die Discoverability
  • Reorder-Issue (separat in v0.4)
## Motivation Aktuell rendern `/einkaufen` und `/listen` beide denselben `ListsOverviewScreen` ohne Filter — faktisch Duplikate. Nach #112 wird `/einkaufen` zum dedizierten Shopping-Modus. Es fehlt analog ein **Todo-Bereich** für Listen mit `type='todo'`. Besonders relevant durch: - #112 (Einkaufen-Modus) — Vorlage für die Spezialisierung - #329 (Tracking-Todo-Discoverability) — Tracking-Todos landen in einer 'Pakete'-Liste, die im Todo-Bereich besser sichtbar wäre als zwischen allen Listen gemischt - #330 ('Pakete'-Liste Filter-Bug) — separater Todo-Bereich macht die dedizierte Liste auch UX-seitig sichtbar ## Scope ### Mobile - [ ] Neuer Drawer-Eintrag `Todo` → `/todo` in `apps/mobile/src/components/drawer-navigation.tsx` - [ ] Neue Route `apps/mobile/app/(drawer)/todo.tsx` analog `einkaufen.tsx` - [ ] Spezialisierter Todo-Screen (oder gefilterter `ListsOverview` auf `type='todo'`) — Entscheidung im Issue: - Variante A: dedizierter `TodoOverviewScreen` mit eigener UX (z.B. Quick-Add, priorisierte Listen oben, abgehakte Items als Badge) - Variante B: `ListsOverviewScreen` mit `filter={'todo'}` Prop, dann kann der Erstell-Form nur Typ `todo` anlegen ### Web - [ ] Pendant in `apps/web/src/routes/layout.tsx` ergänzen + Route anlegen (CLAUDE.md-Regel) ### Filter-Logik (Shared) - [ ] `ListsOverviewScreen` Prop `typeFilter?: ListType` einführen, in `/einkaufen` (shopping), `/todo` (todo), `/listen` (alle) entsprechend nutzen - [ ] Create-Form respektiert Filter: bei aktivem Filter nur diesen Type anbieten ## Akzeptanzkriterien - [ ] `Todo`-Eintrag im Drawer vorhanden (Mobile + Web) - [ ] `/todo` zeigt nur Listen mit `type='todo'` - [ ] Erstellen einer neuen Liste in `/todo` legt sie als `type='todo'` an (keine Type-Wahl) - [ ] Auto-erstellte 'Pakete'-Liste aus Tracking-Pipeline ist hier sichtbar (#329) - [ ] Reihenfolge respektiert Reorder-Feature (Folge-Issue / siehe verwandter Reorder-Issue) ## Verwandt - #112 (Einkaufen-Modus) — Schwester-Issue, selbe Drawer-Spezialisierung - #329 (Tracking-Todo unsichtbar) — Todo-Bereich macht die 'Pakete'-Liste auffindbar - #330 ('Pakete'-Liste Filter-Bug) — beide Issues lösen zusammen die Discoverability - Reorder-Issue (separat in v0.4)
Author
Owner

Erledigt in PR #335 (squash-merged in main). Variante B umgesetzt: typeFilter-Prop auf ListsOverviewScreen, neuer Drawer-Eintrag + Route auf Web und Mobile.

Erledigt in PR #335 (squash-merged in main). Variante B umgesetzt: `typeFilter`-Prop auf `ListsOverviewScreen`, neuer Drawer-Eintrag + Route auf Web und Mobile.
Author
Owner

Verwandt: #336 (App-Shell Refactor — Sidebar/Profil/Settings-Subnav, v0.4). Hauptmenü-Änderungen sollten dort koordiniert werden.

Verwandt: #336 (App-Shell Refactor — Sidebar/Profil/Settings-Subnav, v0.4). Hauptmenü-Änderungen sollten dort koordiniert werden.
Sign in to join this conversation.
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#332
No description provided.