Подгрузка старых сообщений

This commit is contained in:
Халимов Рустам
2026-04-15 01:55:23 +03:00
parent 5b0133d55e
commit 5a71e5bbfa
11 changed files with 22 additions and 20 deletions
@@ -221,14 +221,18 @@ fun ChatDetailScreen(
}
// Подгрузка истории при прокрутке вверх
LaunchedEffect(listState) {
snapshotFlow { listState.layoutInfo.visibleItemsInfo.lastOrNull()?.index }
.collect { lastVisibleIndex ->
if (lastVisibleIndex != null && lastVisibleIndex >= listItems.size - 10 && listItems.size >= 15) {
android.util.Log.d("ChatDetailScreen", "TRIGGER LOAD MORE: index $lastVisibleIndex, size ${listItems.size}")
viewModel.loadMoreMessages()
}
LaunchedEffect(listState, state.messages.size) {
snapshotFlow {
val lastIndex = listState.layoutInfo.visibleItemsInfo.lastOrNull()?.index ?: 0
val totalCount = listState.layoutInfo.totalItemsCount
lastIndex to totalCount
}
.collect { (lastVisibleIndex, totalCount) ->
if (totalCount > 0 && lastVisibleIndex >= totalCount - 20 && !state.isLoadingMore) {
android.util.Log.d("ChatDetailScreen", "TRIGGER LOAD MORE: index $lastVisibleIndex, total $totalCount")
viewModel.loadMoreMessages()
}
}
}
val unreadCount = remember(state.messages) {