feat(catalog): Katalogsuche in der App (KAT-01, 3b App) #63

Merged
cschlaefke merged 9 commits from feature/3b-katalog-suche-app into main 2026-11-04 17:29:11 +00:00
Owner

Refs #3

Teil 3b (App) der Katalogsuche nach docs/specs/3-katalog-suche.md.

Inhalt

  • Route /catalog als Unterroute von / (Android-Systemzurück führt zur Startseite), Suchfeld, Filter (Genres/Mechaniken), Trefferliste mit Nachladen, Zustände (leer/Fehler/offline), URL-Zustand per UrlReplacer.
  • Startseite: Schaltfläche „Spiele suchen“ statt Lupe (Entscheidung Chris).
  • Unbekannte Genre-/Mechanik-IDs in der URL werden nach dem Laden des Vokabulars entfernt (Entscheidung Chris).
  • Review-Auflagen W1, W2, W4, W5, H1, H2 eingearbeitet; AppLogger verwirft supabase*-Records unter INFO.

Bitte bestätigen (Chris)

  • W1: Die App kürzt Suchbegriffe still auf 10 Wörter (Trenner: alles außer Buchstaben/Ziffern). Der Server wirft sonst einen Fehler. Bei invalidInput gibt es einen eigenen Text ohne „Erneut versuchen“.

Merge-Reihenfolge

  1. PR #62 (PR A, Anmelde-Einstieg) zuerst. Konflikt in home_screen.dart bekannt: Reihenfolge Platzhalter → SignInPrompt → Suchschaltfläche (sonst brechen zwei PR-A-Tab-Tests).
  2. 3a (Backend) vor diesem PR mergen.
  3. Beim Merge ARB/l10n und build_runner neu erzeugen.

Nicht geprüft

Browser, Android/iOS, Screenreader und das echte Backend 3a (Vertrag vom Reviewer gegen lokalen 3a-Stand geprüft). 22003-Fehlerabbildung (smallint außerhalb des Bereichs) folgt nach dem 3a-Review.

🤖 Generated with Claude Code

Refs #3 Teil 3b (App) der Katalogsuche nach `docs/specs/3-katalog-suche.md`. ## Inhalt - Route `/catalog` als Unterroute von `/` (Android-Systemzurück führt zur Startseite), Suchfeld, Filter (Genres/Mechaniken), Trefferliste mit Nachladen, Zustände (leer/Fehler/offline), URL-Zustand per `UrlReplacer`. - Startseite: Schaltfläche „Spiele suchen“ statt Lupe (Entscheidung Chris). - Unbekannte Genre-/Mechanik-IDs in der URL werden nach dem Laden des Vokabulars entfernt (Entscheidung Chris). - Review-Auflagen W1, W2, W4, W5, H1, H2 eingearbeitet; `AppLogger` verwirft `supabase*`-Records unter INFO. ## Bitte bestätigen (Chris) - **W1:** Die App kürzt Suchbegriffe still auf 10 Wörter (Trenner: alles außer Buchstaben/Ziffern). Der Server wirft sonst einen Fehler. Bei `invalidInput` gibt es einen eigenen Text ohne „Erneut versuchen“. ## Merge-Reihenfolge 1. PR #62 (PR A, Anmelde-Einstieg) zuerst. Konflikt in `home_screen.dart` bekannt: Reihenfolge Platzhalter → SignInPrompt → Suchschaltfläche (sonst brechen zwei PR-A-Tab-Tests). 2. 3a (Backend) vor diesem PR mergen. 3. Beim Merge ARB/l10n und `build_runner` neu erzeugen. ## Nicht geprüft Browser, Android/iOS, Screenreader und das echte Backend 3a (Vertrag vom Reviewer gegen lokalen 3a-Stand geprüft). 22003-Fehlerabbildung (smallint außerhalb des Bereichs) folgt nach dem 3a-Review. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cschlaefke added 7 commits 2026-11-04 09:20:46 +00:00
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
KAT-01 Kriterium 1-6 and 8, QUE-05, QUE-06. Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Tiles are tab stops again, tab order is search field, filters, list (also
with the side bar), selects keep focus after a choice. Failure kind is
logged with stable names. Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
feat(catalog): review fixes for catalog search
All checks were successful
CI / flutter (pull_request) Successful in 1m46s
CI / web-build (pull_request) Successful in 59s
CI / supabase (pull_request) Successful in 12s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m54s
25212929ce
Word limit and no-retry state for rejected input, nested /catalog route for
system back, logger filter for supabase libs, more mutation-proof tests,
doc fix, umlaut-aware term sorting, thousands separators. Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cschlaefke added 1 commit 2026-11-04 09:39:04 +00:00
fix(catalog): map 22003 and 22P02 to invalidInput
All checks were successful
CI / flutter (pull_request) Successful in 1m21s
CI / web-build (pull_request) Successful in 54s
CI / supabase (pull_request) Successful in 8s
CI / supabase-tests (pull_request) Successful in 35s
CI / e2e (pull_request) Successful in 2m54s
668fdf1705
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cschlaefke added 1 commit 2026-11-04 10:06:18 +00:00
chore: merge main into feature/3b-katalog-suche-app
All checks were successful
CI / flutter (pull_request) Successful in 1m19s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 3m0s
6020801fff
Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cschlaefke added the
status/ready-for-merge
label 2026-11-04 10:40:34 +00:00
cschlaefke merged commit cc9d0aa191 into main 2026-11-04 17:29:11 +00:00
cschlaefke deleted branch feature/3b-katalog-suche-app 2026-11-04 17:29:12 +00:00
Sign in to join this conversation.
No description provided.