fix(nests): keep chat textfield visible above keyboard on NestFullScreen

Activity used the system default soft-input behavior (pan), so opening
the keyboard slid the whole screen up, partially hiding the composer
and putting the top of the screen out of reach. Set adjustResize on
NestActivity and add consumeWindowInsets + imePadding to the Scaffold
body so the column reflows above the IME and the textfield stays in
view.
This commit is contained in:
Claude
2026-04-28 22:51:07 +00:00
parent 2723c48f88
commit 5eea6ec8e6
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -226,6 +226,7 @@
android:launchMode="singleTask" android:launchMode="singleTask"
android:exported="false" android:exported="false"
android:resizeableActivity="true" android:resizeableActivity="true"
android:windowSoftInputMode="adjustResize"
android:theme="@style/Theme.Amethyst" /> android:theme="@style/Theme.Amethyst" />
<activity <activity
@@ -23,8 +23,10 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.nests.room.screen
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.consumeWindowInsets
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.material3.AlertDialog import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Badge import androidx.compose.material3.Badge
@@ -205,7 +207,9 @@ internal fun NestFullScreen(
modifier = modifier =
Modifier Modifier
.fillMaxSize() .fillMaxSize()
.padding(padding), .padding(padding)
.consumeWindowInsets(padding)
.imePadding(),
) { ) {
if (summaryExpanded) { if (summaryExpanded) {
RoomSummaryStrip(summary = event.summary()) RoomSummaryStrip(summary = event.summary())