UI fix 3/5: imePadding on form screens

Soft keyboard no longer covers input fields. Applied to every screen
with text input.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Trey T
2026-04-18 14:18:46 -05:00
parent 0ec2ac7744
commit 42c21bfca1
20 changed files with 26 additions and 4 deletions

View File

@@ -90,6 +90,7 @@ fun BiometricLockScreen(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.padding(32.dp), .padding(32.dp),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center verticalArrangement = Arrangement.Center

View File

@@ -101,6 +101,7 @@ fun CompleteTaskScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
) { ) {
// Task Info Section // Task Info Section

View File

@@ -217,6 +217,7 @@ fun ContractorsScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(padding) .padding(padding)
.imePadding()
) { ) {
// Search bar // Search bar
OutlinedTextField( OutlinedTextField(

View File

@@ -209,6 +209,7 @@ fun DocumentFormScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(padding) .padding(padding)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(start = OrganicSpacing.cozy, end = OrganicSpacing.cozy, top = OrganicSpacing.cozy, bottom = 96.dp), .padding(start = OrganicSpacing.cozy, end = OrganicSpacing.cozy, top = OrganicSpacing.cozy, bottom = 96.dp),
verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy) verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy)

View File

@@ -110,6 +110,7 @@ fun EditTaskScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.padding(OrganicSpacing.cozy) .padding(OrganicSpacing.cozy)
.verticalScroll(rememberScrollState()), .verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy) verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy)

View File

@@ -79,7 +79,8 @@ fun ForgotPasswordScreen(
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues), .padding(paddingValues)
.imePadding(),
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
OrganicCard( OrganicCard(

View File

@@ -98,7 +98,8 @@ fun LoginScreen(
WarmGradientBackground { WarmGradientBackground {
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxSize(), .fillMaxSize()
.imePadding(),
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
OrganicCard( OrganicCard(

View File

@@ -182,6 +182,7 @@ fun ProfileScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(start = 24.dp, end = 24.dp, top = 24.dp, bottom = 96.dp), .padding(start = 24.dp, end = 24.dp, top = 24.dp, bottom = 96.dp),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,

View File

@@ -90,6 +90,7 @@ fun RegisterScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(OrganicSpacing.xl), .padding(OrganicSpacing.xl),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,

View File

@@ -87,7 +87,8 @@ fun ResetPasswordScreen(
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues), .padding(paddingValues)
.imePadding(),
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
OrganicCard( OrganicCard(

View File

@@ -172,6 +172,7 @@ fun ResidenceFormScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.padding(OrganicSpacing.cozy) .padding(OrganicSpacing.cozy)
.verticalScroll(rememberScrollState()), .verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy) verticalArrangement = Arrangement.spacedBy(OrganicSpacing.cozy)

View File

@@ -95,6 +95,7 @@ fun VerifyEmailScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(OrganicSpacing.comfortable), .padding(OrganicSpacing.comfortable),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,

View File

@@ -75,7 +75,8 @@ fun VerifyResetCodeScreen(
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues), .padding(paddingValues)
.imePadding(),
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
OrganicCard( OrganicCard(

View File

@@ -74,6 +74,7 @@ fun OnboardingCreateAccountContent(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(horizontal = OrganicSpacing.xl) .padding(horizontal = OrganicSpacing.xl)
) { ) {

View File

@@ -51,6 +51,7 @@ fun OnboardingJoinResidenceContent(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.padding(horizontal = OrganicSpacing.xl), .padding(horizontal = OrganicSpacing.xl),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {

View File

@@ -38,6 +38,7 @@ fun OnboardingLocationContent(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.padding(horizontal = OrganicSpacing.xl), .padding(horizontal = OrganicSpacing.xl),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {

View File

@@ -32,6 +32,7 @@ fun OnboardingNameResidenceContent(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.padding(horizontal = OrganicSpacing.xl), .padding(horizontal = OrganicSpacing.xl),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {

View File

@@ -58,6 +58,7 @@ fun OnboardingVerifyEmailContent(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.imePadding()
.padding(horizontal = OrganicSpacing.xl), .padding(horizontal = OrganicSpacing.xl),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {

View File

@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Spacer
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.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
@@ -107,6 +108,7 @@ fun JoinResidenceScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.padding(horizontal = AppSpacing.lg, vertical = AppSpacing.lg), .padding(horizontal = AppSpacing.lg, vertical = AppSpacing.lg),
verticalArrangement = Arrangement.spacedBy(AppSpacing.lg), verticalArrangement = Arrangement.spacedBy(AppSpacing.lg),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,

View File

@@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.FlowRow
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.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
@@ -101,6 +102,7 @@ fun AddTaskWithResidenceScreen(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(paddingValues) .padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(horizontal = AppSpacing.lg, vertical = AppSpacing.md), .padding(horizontal = AppSpacing.lg, vertical = AppSpacing.md),
verticalArrangement = Arrangement.spacedBy(AppSpacing.md) verticalArrangement = Arrangement.spacedBy(AppSpacing.md)