Прокрутка чата

This commit is contained in:
Халимов Рустам
2026-04-15 01:35:22 +03:00
parent dcb733ac01
commit 5b0133d55e
8 changed files with 18 additions and 0 deletions

View File

@@ -190,6 +190,24 @@ fun ChatDetailScreen(
}
}
// 4. Авто-скролл к новым сообщениям
val firstMessageId = state.messages.firstOrNull()?.id
LaunchedEffect(firstMessageId) {
if (firstMessageId != null) {
// Если мы уже внизу (индекс 0) или это наше сообщение - скроллим вниз
val isAtBottom = listState.firstVisibleItemIndex <= 1
val isMyMessage = state.messages.firstOrNull()?.senderId == viewModel.getCurrentUserId()
if (isAtBottom || isMyMessage) {
listState.animateScrollToItem(0)
// Если мы внизу - помечаем сразу как прочитанное
if (isAtBottom && !isMyMessage) {
viewModel.markAsRead()
}
}
}
}
// Автоматическая прокрутка и прочтение при инициализации и новых сообщениях
LaunchedEffect(listItems.size) {
if (listItems.isNotEmpty()) {