diff --git a/app/src/main/java/com/rosetta/messenger/ui/chats/ChatDetailScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/chats/ChatDetailScreen.kt index 1dc849b..a08be57 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/chats/ChatDetailScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/chats/ChatDetailScreen.kt @@ -16,10 +16,12 @@ import androidx.compose.material.icons.filled.* import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment +import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -391,6 +393,7 @@ private fun MessageBubble( * + Плавная анимация самолетика * + Эмодзи пикер */ +@OptIn(ExperimentalComposeUiApi::class) @Composable private fun MessageInputBar( value: String, @@ -403,6 +406,14 @@ private fun MessageInputBar( ) { // Состояние эмодзи пикера var showEmojiPicker by remember { mutableStateOf(false) } + val keyboardController = LocalSoftwareKeyboardController.current + + // Скрываем клавиатуру когда открыт эмодзи пикер + LaunchedEffect(showEmojiPicker) { + if (showEmojiPicker) { + keyboardController?.hide() + } + } // Цвета для glass morphism эффекта val glassBackground = if (isDarkTheme)