fluxa/shared
KhooLy f14b0a383d Add Discover infinite scroll, fix bottom nav overlapping content
Discover only ever showed one page of results with no way to load
more on scroll. The backend piece (per-catalog page fetch with skip+
genre) already existed in Rust (dispatch_discover_page/FetchDiscoverPage)
but was never wired to an Android effect handler at all, and its
results-append was gated behind the internal multi-catalog-merge flow
that a manual load-more wouldn't go through.

- Rust: made the results.extend() in the fetchDiscoverPage completion
  unconditional (was only running when continuing the internal merge
  chain); the recursive dispatch_next_initial_page call stays gated.
- Kotlin: added the missing "fetchDiscoverPage" case (reuses the
  existing fetchCatalogPage handler, identical payload shape), and
  HomeViewModel.loadMoreDiscoverResults() which dispatches
  discoverPageRequested with skip = current result count and folds
  the returned page into both _headlessDiscoverResults and
  _headlessDiscoverResultSources (the latter needed since new items
  otherwise had no addon source mapped, breaking playback routing).
- Shared: DiscoverAction.LoadMore end to end (contract, store,
  AndroidDiscoverDataSource resolving the selected catalog's
  transportUrl/id from state, DiscoverScreen triggering it via a
  LazyGridState scroll-near-end check).

Also fixed the mobile bottom nav bar overlapping Discover/Search
content — their grids only had bottom=20dp contentPadding instead of
the 120dp already used elsewhere to clear the floating nav bar.
2026-07-13 23:08:33 +03:00
..
src Add Discover infinite scroll, fix bottom nav overlapping content 2026-07-13 23:08:33 +03:00
build.gradle.kts Fix Apple framework export and simulator architecture 2026-07-13 04:22:39 +03:00