feat: Adjust emoji panel height and padding for improved layout in ChatDetailScreen
This commit is contained in:
@@ -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)
|
||||
) {
|
||||
// Список сообщений - занимает всё доступное место
|
||||
|
||||
Reference in New Issue
Block a user