feat: Reset highlighted message before scrolling and improve logging for message search in ChatDetailScreen

This commit is contained in:
k1ngsterr1
2026-01-16 05:44:16 +05:00
parent 5fdc910b6e
commit d58897ea38

View File

@@ -448,6 +448,10 @@ fun ChatDetailScreen(
android.util.Log.d("ChatDetail", "🔍 scrollToMessage called for: $messageId") android.util.Log.d("ChatDetail", "🔍 scrollToMessage called for: $messageId")
android.util.Log.d("ChatDetail", " - Total messages: ${messagesWithDates.size}") android.util.Log.d("ChatDetail", " - Total messages: ${messagesWithDates.size}")
scope.launch { scope.launch {
// 🔥 Сбрасываем текущую подсветку перед новым скроллом
highlightedMessageId = null
delay(50) // Небольшая задержка для сброса анимации
// Находим индекс сообщения в списке // Находим индекс сообщения в списке
val messageIndex = messagesWithDates.indexOfFirst { it.first.id == messageId } val messageIndex = messagesWithDates.indexOfFirst { it.first.id == messageId }
android.util.Log.d("ChatDetail", " - Found at index: $messageIndex") android.util.Log.d("ChatDetail", " - Found at index: $messageIndex")
@@ -455,12 +459,13 @@ fun ChatDetailScreen(
// Скроллим к сообщению // Скроллим к сообщению
listState.animateScrollToItem(messageIndex) listState.animateScrollToItem(messageIndex)
android.util.Log.d("ChatDetail", " ✅ Scrolled to message") android.util.Log.d("ChatDetail", " ✅ Scrolled to message")
// Подсвечиваем на 2 секунды // Подсвечиваем на 2 секунды
highlightedMessageId = messageId highlightedMessageId = messageId
delay(2000) delay(2000)
highlightedMessageId = null highlightedMessageId = null
} else { } else {
android.util.Log.d("ChatDetail", " ❌ Message not found") android.util.Log.d("ChatDetail", " ❌ Message not found in list")
} }
} }
} }