From 0f59db917e3342fbcf1dfd8c560959826325d78c Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Wed, 14 Jan 2026 01:48:04 +0500 Subject: [PATCH] feat: Adjust emoji panel height and padding for improved layout in ChatDetailScreen --- .../com/rosetta/messenger/ui/chats/ChatDetailScreen.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 6ca462b..926b61c 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 @@ -255,7 +255,8 @@ fun ChatDetailScreen( savedKeyboardHeight = imeHeight } } - val emojiPanelHeight = savedKeyboardHeight + // 🔥 Высота панели эмодзи = сохранённая высота клавиатуры (минимум 280.dp) + val emojiPanelHeight = maxOf(savedKeyboardHeight, 280.dp) // 🔥 Reply/Forward state val replyMessages by viewModel.replyMessages.collectAsState() @@ -1037,15 +1038,16 @@ fun ChatDetailScreen( } ) { paddingValues -> // 🔥 Дополнительный отступ снизу для эмодзи панели - val emojiBottomPadding = if (showEmojiPicker && imeHeight < 50.dp) emojiPanelHeight else 0.dp + // Учитываем высоту панели + 16dp отступ снизу для безопасной зоны + val emojiBottomPadding = if (showEmojiPicker && imeHeight < 50.dp) (emojiPanelHeight + 16.dp) else 0.dp - // 🔥 Column структура - список сжимается когда клавиатура открывается + // 🔥 Column структура - список сжимается когда клавиатура/эмодзи открывается Column( modifier = Modifier .fillMaxSize() .padding(top = paddingValues.calculateTopPadding()) - .padding(bottom = emojiBottomPadding) // 🔥 Отступ для эмодзи панели .imePadding() // 🔥 Поднимаем весь контент над клавиатурой + .padding(bottom = emojiBottomPadding) // 🔥 Отступ для эмодзи панели (после imePadding!) .background(backgroundColor) ) { // Список сообщений - занимает всё доступное место