Add stream language filter and fix directory infinite scroll.
Settings multi-select filters Top/category/tag lists via Helix (with over-fetch for multiple languages). Larger Helix pages, safer cursors, and scroll near-end loading restore pagination; GQL page-2 integrity failures end the list cleanly. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
cff29232c7
commit
9d392d8d6a
12 changed files with 395 additions and 47 deletions
10
DESIGN.md
10
DESIGN.md
|
|
@ -45,6 +45,16 @@ Helix cannot filter by freeform tags or sort ascending. GQL covers both:
|
|||
|
||||
Key code: `lib/apis/twitch_gql_api.dart`, `lib/screens/home/search/`, `lib/widgets/stream_sort_button.dart`, `ListStore` / `ListType.tag`.
|
||||
|
||||
## Stream languages (v5.2.4+)
|
||||
|
||||
Settings → General → Stream languages (multi-select chips). Default `de`. Applied to Top, category, and tag lists.
|
||||
|
||||
- One language: Helix `language=` (paginates cleanly, `first=100`)
|
||||
- Several languages: Helix over-fetch + client filter (still paginated)
|
||||
- Tags / ascending sort: GQL with `languages: [Language!]`; page-2 often hits Twitch integrity — treated as end-of-list after the first page of 30
|
||||
|
||||
Also fixed infinite scroll: larger Helix pages, defensive cursors, scroll near-end load-more, and stop disposing shared Home scroll controllers.
|
||||
|
||||
## Build
|
||||
|
||||
Flutter **3.47.0** (pinned in `pubspec.yaml`). Local SDK: `/home/yuna/.local/flutter-3.47.0`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue