feat: Enhance emoji picker transition with fade animations and optimize imePadding behavior
This commit is contained in:
@@ -905,10 +905,18 @@ fun ChatDetailScreen(
|
||||
} // Закрытие AnimatedVisibility для normal header
|
||||
},
|
||||
containerColor = backgroundColor, // Фон всего чата
|
||||
// 🔥 Bottom bar - инпут с imePadding автоматически поднимается над клавиатурой
|
||||
// 🔥 Bottom bar - инпут с умным padding:
|
||||
// - Когда showEmojiPicker=false → imePadding (поднимается над клавиатурой)
|
||||
// - Когда showEmojiPicker=true → НЕТ imePadding (Box с эмодзи сам даёт высоту)
|
||||
bottomBar = {
|
||||
// 🔥 Весь bottomBar поднимается над клавиатурой
|
||||
Column(modifier = Modifier.imePadding()) {
|
||||
// 🔥 Telegram-style: когда Box с эмодзи виден, НЕ используем imePadding
|
||||
// isEmojiBoxVisible учитывает анимацию fade-out (alpha > 0.01)
|
||||
val bottomModifier = if (coordinator.isEmojiBoxVisible) {
|
||||
Modifier // Без imePadding - Box с эмодзи заменяет клавиатуру
|
||||
} else {
|
||||
Modifier.imePadding() // С imePadding - клавиатура поднимает инпут
|
||||
}
|
||||
Column(modifier = bottomModifier) {
|
||||
// 🔥 FLOATING INPUT BAR - плавает поверх сообщений, поднимается с клавиатурой
|
||||
// Скрываем когда в режиме выбора
|
||||
AnimatedVisibility(
|
||||
|
||||
Reference in New Issue
Block a user