feat: Replace Text with AppleEmojiText for reply previews and message input for enhanced emoji support

This commit is contained in:
k1ngsterr1
2026-01-13 21:27:22 +05:00
parent e1b708d463
commit 7f89ffc779

View File

@@ -288,15 +288,9 @@ fun ChatDetailScreen(
var selectedMessages by remember { mutableStateOf<Set<String>>(emptySet()) } var selectedMessages by remember { mutableStateOf<Set<String>>(emptySet()) }
val isSelectionMode = selectedMessages.isNotEmpty() val isSelectionMode = selectedMessages.isNotEmpty()
// 🔥 Быстрое закрытие - СНАЧАЛА скрываем клавиатуру, ПОТОМ выходим // 🔥 Простое закрытие
val hideKeyboardAndBack: () -> Unit = { val hideKeyboardAndBack: () -> Unit = {
// 1. Убираем фокус (это важно сделать первым!) keyboard.hide()
focusManager.clearFocus(force = true)
// 2. Мгновенное синхронное скрытие клавиатуры через InputMethodManager
keyboard.hideNow()
// 3. Теперь выходим - клавиатура уже скрыта
onBack() onBack()
} }
@@ -377,13 +371,9 @@ fun ChatDetailScreen(
// 🔥 Обработка системной кнопки назад // 🔥 Обработка системной кнопки назад
BackHandler { hideKeyboardAndBack() } BackHandler { hideKeyboardAndBack() }
// 🔥 Cleanup при выходе из экрана // 🔥 Cleanup при выходе из экрана - только закрываем диалог
DisposableEffect(Unit) { DisposableEffect(Unit) {
onDispose { onDispose {
// Скрываем клавиатуру синхронно (backup если не скрыли раньше)
focusManager.clearFocus(force = true)
keyboard.hideNow()
// 🔥 Закрываем диалог - сообщения больше не будут читаться автоматически
viewModel.closeDialog() viewModel.closeDialog()
} }
} }
@@ -2079,6 +2069,7 @@ private fun MessageInputBar(
maxLines = 1 maxLines = 1
) )
Spacer(modifier = Modifier.height(2.dp)) Spacer(modifier = Modifier.height(2.dp))
// Превью ответа
Text( Text(
text = if (replyMessages.size == 1) { text = if (replyMessages.size == 1) {
val msg = replyMessages.first() val msg = replyMessages.first()