feat: Reset highlighted message before scrolling and improve logging for message search in ChatDetailScreen
This commit is contained in:
@@ -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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user