feat: Replace Text with AppleEmojiText for reply previews and message input for enhanced emoji support
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user