mirror of
https://github.com/FluxaMedia/fluxa.git
synced 2026-08-09 00:17:35 +00:00
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. |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||