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
|
savedKeyboardHeight = imeHeight
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val emojiPanelHeight = savedKeyboardHeight
|
// 🔥 Высота панели эмодзи = сохранённая высота клавиатуры (минимум 280.dp)
|
||||||
|
val emojiPanelHeight = maxOf(savedKeyboardHeight, 280.dp)
|
||||||
|
|
||||||
// 🔥 Reply/Forward state
|
// 🔥 Reply/Forward state
|
||||||
val replyMessages by viewModel.replyMessages.collectAsState()
|
val replyMessages by viewModel.replyMessages.collectAsState()
|
||||||
@@ -1037,15 +1038,16 @@ fun ChatDetailScreen(
|
|||||||
}
|
}
|
||||||
) { paddingValues ->
|
) { 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(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.padding(top = paddingValues.calculateTopPadding())
|
.padding(top = paddingValues.calculateTopPadding())
|
||||||
.padding(bottom = emojiBottomPadding) // 🔥 Отступ для эмодзи панели
|
|
||||||
.imePadding() // 🔥 Поднимаем весь контент над клавиатурой
|
.imePadding() // 🔥 Поднимаем весь контент над клавиатурой
|
||||||
|
.padding(bottom = emojiBottomPadding) // 🔥 Отступ для эмодзи панели (после imePadding!)
|
||||||
.background(backgroundColor)
|
.background(backgroundColor)
|
||||||
) {
|
) {
|
||||||
// Список сообщений - занимает всё доступное место
|
// Список сообщений - занимает всё доступное место
|
||||||
|
|||||||
Reference in New Issue
Block a user