feat: Apply imePadding to bottom bar for improved keyboard interaction

This commit is contained in:
k1ngsterr1
2026-01-14 04:08:23 +05:00
parent 66331904a1
commit 6bf66cae26

View File

@@ -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) {