fix: 首页轮播图下拉刷新时随机排序,增加获取数量到20
- 首次加载保持API排序(一致性),下拉刷新后shuffle增加多样性 - getLatestItems limit 10→20,让更多内容参与轮播选择
This commit is contained in:
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) }
|
||||
|
||||
|
||||
Reference in new issue
Block a user