Подгрузка старых сообщений
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user