feat: Adjust keyboard handling in ChatDetailScreen to improve input experience

This commit is contained in:
k1ngsterr1
2026-01-13 23:44:48 +05:00
parent 3dd83c9cc5
commit 3c50c79701

View File

@@ -838,7 +838,7 @@ fun ChatDetailScreen(
enter = fadeIn(tween(200)) + slideInVertically(initialOffsetY = { it }), enter = fadeIn(tween(200)) + slideInVertically(initialOffsetY = { it }),
exit = fadeOut(tween(150)) + slideOutVertically(targetOffsetY = { it }) exit = fadeOut(tween(150)) + slideOutVertically(targetOffsetY = { it })
) { ) {
Column(modifier = Modifier.imePadding()) { Column {
// Input bar с встроенным reply preview (как в React Native) // Input bar с встроенным reply preview (как в React Native)
MessageInputBar( MessageInputBar(
value = inputText, value = inputText,
@@ -892,7 +892,7 @@ fun ChatDetailScreen(
enter = fadeIn(tween(200)) + slideInVertically(initialOffsetY = { it }), enter = fadeIn(tween(200)) + slideInVertically(initialOffsetY = { it }),
exit = fadeOut(tween(150)) + slideOutVertically(targetOffsetY = { it }) exit = fadeOut(tween(150)) + slideOutVertically(targetOffsetY = { it })
) { ) {
Column(modifier = Modifier.imePadding()) { Column {
// Плоский контейнер как у инпута // Плоский контейнер как у инпута
Column( Column(
modifier = Modifier modifier = Modifier
@@ -998,6 +998,7 @@ fun ChatDetailScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(top = paddingValues.calculateTopPadding()) .padding(top = paddingValues.calculateTopPadding())
.imePadding() // 🔥 Поднимаем весь контент над клавиатурой
.background(backgroundColor) .background(backgroundColor)
) { ) {
// Список сообщений - занимает всё доступное место // Список сообщений - занимает всё доступное место