feat: Apply imePadding to bottom bar for improved keyboard interaction
This commit is contained in:
@@ -892,6 +892,8 @@ fun ChatDetailScreen(
|
||||
containerColor = backgroundColor, // Фон всего чата
|
||||
// 🔥 Bottom bar - инпут с imePadding автоматически поднимается над клавиатурой
|
||||
bottomBar = {
|
||||
// 🔥 Весь bottomBar поднимается над клавиатурой
|
||||
Column(modifier = Modifier.imePadding()) {
|
||||
// 🔥 FLOATING INPUT BAR - плавает поверх сообщений, поднимается с клавиатурой
|
||||
// Скрываем когда в режиме выбора
|
||||
AnimatedVisibility(
|
||||
@@ -1049,15 +1051,15 @@ fun ChatDetailScreen(
|
||||
}
|
||||
}
|
||||
}
|
||||
} // Закрытие Column с imePadding
|
||||
}
|
||||
) { paddingValues ->
|
||||
// 🔥 Column структура - список сжимается когда клавиатура открывается
|
||||
// Emoji panel внутри MessageInputBar - НЕ нужен дополнительный отступ
|
||||
// imePadding применён к bottomBar, поэтому контент автоматически сжимается
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(top = paddingValues.calculateTopPadding())
|
||||
// 🔥 imePadding убран - он в MessageInputBar, чтобы инпут поднимался над клавиатурой
|
||||
.padding(paddingValues) // 🔥 Учитываем top и bottom padding от Scaffold
|
||||
.background(backgroundColor)
|
||||
) {
|
||||
// Список сообщений - занимает всё доступное место
|
||||
@@ -2089,7 +2091,7 @@ private fun MessageInputBar(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.graphicsLayer { clip = false }
|
||||
.imePadding() // 🔥 Поднимаем инпут над клавиатурой
|
||||
// imePadding уже применён к родительскому контейнеру
|
||||
) {
|
||||
// Если пользователь заблокирован - показываем BlockedChatFooter (плоский как инпут)
|
||||
if (isBlocked) {
|
||||
|
||||
Reference in New Issue
Block a user