fix: 首页轮播图下拉刷新时随机排序,增加获取数量到20

- 首次加载保持API排序(一致性),下拉刷新后shuffle增加多样性
- getLatestItems limit 10→20,让更多内容参与轮播选择
This commit is contained in:
beyond committed 2026-09-06 14:08:18 +08:00
1 parent f44bc036e8
commit 72df0c7a6d
1 file changed
+8 -2
@@ -850,7 +850,13 @@ fun HomeScreen(
val homeBackdrop = rememberLumaLayerBackdrop()
val heroHeight = (LocalConfiguration.current.screenHeightDp.dp * 0.5f)
val heroItems = remember(latestItems) { latestItems.take(8) }
val heroItems = remember(latestItems, reloadToken) {
if (reloadToken == 0) {
latestItems.take(8) // First load: keep API order for consistency
} else {
latestItems.shuffled().take(8) // Pull-to-refresh: shuffle for variety
}
}
val heroPagerState = rememberPagerState(pageCount = { heroItems.size })
val homeListState = rememberLazyListState()
val activeHeroItem = heroItems.getOrNull(heroPagerState.currentPage)
@@ -877,7 +883,7 @@ fun HomeScreen(
if (inPlaceRefresh) refreshing = true else loading = true
try {
val libsDeferred = async { EmbyRepository.getLibraries(server) }
val latestDeferred = async { EmbyRepository.getLatestItems(server, limit = 10) }
val latestDeferred = async { EmbyRepository.getLatestItems(server, limit = 20) }
val resumeDeferred = async { EmbyRepository.getResumeItems(server, limit = 10) }
val statsDeferred = async { EmbyRepository.getResourceStats(server) }