Suchleiste in Listen - Speisekammer immer sichtbar, andere Listen ueber Options-Menue #199

Closed
opened 2026-09-27 12:21:17 +02:00 by lena · 2 comments
Collaborator

Story: Suchleiste in Listen - Speisekammer immer sichtbar, andere Listen per Options-Menue

As a Nutzer mit einer langen Speisekammer (und anderen langen Listen),
I want to die aktuelle Liste per Suchfeld nach einem Produkt-/Eintragsnamen durchsuchen,
so that ich schnell sehe, ob ein Produkt schon existiert, bevor ich es doppelt anlege.

Kontext (verifiziert im Code): Die Speisekammer (PantryPage) hat nur einen Label-Filter, keine Textsuche. Einkaufsliste und Masterpackliste haben gar keine In-Listen-Suche. Todo-/Prioritaetslisten haben ein Textfilter-Feld versteckt im Options-Menue (TodoListHeader). Abgrenzung: #182 ist die listenuebergreifende Suche (SearchModal) - hier geht es um die Suche innerhalb der gerade geoeffneten Liste.

Acceptance criteria:

  • Speisekammer: Unter der Kopfzeile wird immer eine Suchleiste angezeigt. Eingabe filtert die Produkte nach Name (Gross-/Kleinschreibung egal, Teilstring). Kategorien ohne Treffer werden ausgeblendet.
  • Speisekammer: Gibt es keinen Treffer, zeigt die Liste einen Hinweis und bietet an, den Suchbegriff direkt als neues Produkt ins Eingabefeld zu uebernehmen.
  • Einkaufsliste, Masterpackliste, Todo-Liste und Prioritaetsliste: Im Options-Menue (drei Punkte rechts) gibt es einen Eintrag "Suchen", der die gleiche Suchleiste ein-/ausblendet. Standardmaessig ist sie ausgeblendet.
  • Ausblenden der Suchleiste (Menue-Eintrag oder X-Button) setzt den Suchbegriff zurueck - kein unsichtbar aktiver Filter.
  • Wechsel auf eine andere Liste setzt Suche (und bei den optionalen Listen die Sichtbarkeit) zurueck.
  • Waehrend ein Suchbegriff aktiv ist, ist Drag & Drop-Umsortieren deaktiviert (Reihenfolge nur auf der gefilterten Teilmenge waere falsch).
  • Todo-/Prioritaetslisten: das bisherige Filterfeld im Menue wird durch die neue Suchleiste ersetzt (gleiche Filterlogik, kein doppeltes Feld).
  • Rein clientseitig, keine Backend-Aenderung, keine Persistenz.

Out of scope: Suche in Kommentaren/Labels, serverseitige Suche, Suchleisten-Sichtbarkeit dauerhaft speichern.

## Story: Suchleiste in Listen - Speisekammer immer sichtbar, andere Listen per Options-Menue **As a** Nutzer mit einer langen Speisekammer (und anderen langen Listen), **I want to** die aktuelle Liste per Suchfeld nach einem Produkt-/Eintragsnamen durchsuchen, **so that** ich schnell sehe, ob ein Produkt schon existiert, bevor ich es doppelt anlege. **Kontext (verifiziert im Code):** Die Speisekammer (PantryPage) hat nur einen Label-Filter, keine Textsuche. Einkaufsliste und Masterpackliste haben gar keine In-Listen-Suche. Todo-/Prioritaetslisten haben ein Textfilter-Feld versteckt im Options-Menue (TodoListHeader). Abgrenzung: #182 ist die listenuebergreifende Suche (SearchModal) - hier geht es um die Suche *innerhalb* der gerade geoeffneten Liste. **Acceptance criteria:** - [ ] Speisekammer: Unter der Kopfzeile wird immer eine Suchleiste angezeigt. Eingabe filtert die Produkte nach Name (Gross-/Kleinschreibung egal, Teilstring). Kategorien ohne Treffer werden ausgeblendet. - [ ] Speisekammer: Gibt es keinen Treffer, zeigt die Liste einen Hinweis und bietet an, den Suchbegriff direkt als neues Produkt ins Eingabefeld zu uebernehmen. - [ ] Einkaufsliste, Masterpackliste, Todo-Liste und Prioritaetsliste: Im Options-Menue (drei Punkte rechts) gibt es einen Eintrag "Suchen", der die gleiche Suchleiste ein-/ausblendet. Standardmaessig ist sie ausgeblendet. - [ ] Ausblenden der Suchleiste (Menue-Eintrag oder X-Button) setzt den Suchbegriff zurueck - kein unsichtbar aktiver Filter. - [ ] Wechsel auf eine andere Liste setzt Suche (und bei den optionalen Listen die Sichtbarkeit) zurueck. - [ ] Waehrend ein Suchbegriff aktiv ist, ist Drag & Drop-Umsortieren deaktiviert (Reihenfolge nur auf der gefilterten Teilmenge waere falsch). - [ ] Todo-/Prioritaetslisten: das bisherige Filterfeld im Menue wird durch die neue Suchleiste ersetzt (gleiche Filterlogik, kein doppeltes Feld). - [ ] Rein clientseitig, keine Backend-Aenderung, keine Persistenz. **Out of scope:** Suche in Kommentaren/Labels, serverseitige Suche, Suchleisten-Sichtbarkeit dauerhaft speichern.
lena self-assigned this 2026-09-27 12:21:17 +02:00
Author
Collaborator

Claimed - Umsetzung startet (rein Frontend: gemeinsame ListSearchBar-Komponente, Speisekammer immer sichtbar, uebrige Listen per Options-Menue).

Claimed - Umsetzung startet (rein Frontend: gemeinsame ListSearchBar-Komponente, Speisekammer immer sichtbar, uebrige Listen per Options-Menue).
Author
Collaborator

Umgesetzt in 1938cf41 (rein Frontend, keine Backend-/Schema-Aenderung).

Scope

  • Neue gemeinsame Komponente ListSearchBar + matchesListSearch (Teilstring, Gross-/Kleinschreibung egal, Leerzeichen am Rand ignoriert).
  • Speisekammer: Suchleiste immer sichtbar unter der Kopfzeile. Kategorien ohne Treffer werden ausgeblendet. Bei keinem Treffer: Hinweis + Button, der den Suchbegriff direkt ins Hinzufuegen-Feld uebernimmt.
  • Einkaufsliste, Masterpackliste, Todo- und Prioritaetsliste: neuer Menue-Eintrag "Suchen" im Drei-Punkte-Menue, Leiste standardmaessig ausgeblendet. Schliessen (Menue, X oder Escape) leert den Suchbegriff.
  • Todo-/Prioritaetslisten: das bisherige Filterfeld im Menue ist durch die Suchleiste ersetzt (gleiche Store-Logik filterText).
  • Drag & Drop ist waehrend einer aktiven Suche deaktiviert. Listenwechsel setzt Suche und Sichtbarkeit zurueck.

Tests

  • Neue Unit-Tests fuer listSearch, neue Komponententests fuer PantryPage, ShoppingListPage, MasterPackingListPage, TodoList, TodoListHeader.
  • Komplette Frontend-Suite gruen (1364 Tests), npm run build gruen.

Bewusst nicht enthalten: Suche in Kommentaren/Labels, Sichtbarkeit der Suchleiste dauerhaft speichern (siehe Out of scope).

Umgesetzt in 1938cf41 (rein Frontend, keine Backend-/Schema-Aenderung). **Scope** - Neue gemeinsame Komponente `ListSearchBar` + `matchesListSearch` (Teilstring, Gross-/Kleinschreibung egal, Leerzeichen am Rand ignoriert). - Speisekammer: Suchleiste immer sichtbar unter der Kopfzeile. Kategorien ohne Treffer werden ausgeblendet. Bei keinem Treffer: Hinweis + Button, der den Suchbegriff direkt ins Hinzufuegen-Feld uebernimmt. - Einkaufsliste, Masterpackliste, Todo- und Prioritaetsliste: neuer Menue-Eintrag "Suchen" im Drei-Punkte-Menue, Leiste standardmaessig ausgeblendet. Schliessen (Menue, X oder Escape) leert den Suchbegriff. - Todo-/Prioritaetslisten: das bisherige Filterfeld im Menue ist durch die Suchleiste ersetzt (gleiche Store-Logik `filterText`). - Drag & Drop ist waehrend einer aktiven Suche deaktiviert. Listenwechsel setzt Suche und Sichtbarkeit zurueck. **Tests** - Neue Unit-Tests fuer `listSearch`, neue Komponententests fuer PantryPage, ShoppingListPage, MasterPackingListPage, TodoList, TodoListHeader. - Komplette Frontend-Suite gruen (1364 Tests), `npm run build` gruen. **Bewusst nicht enthalten:** Suche in Kommentaren/Labels, Sichtbarkeit der Suchleiste dauerhaft speichern (siehe Out of scope).
lena closed this issue 2026-09-27 12:42:37 +02:00
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
robert/todo#199
No description provided.