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(
modifier = Modifier
.fillMaxSize()
.imePadding()
.padding(32.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -58,6 +58,7 @@ fun OnboardingVerifyEmailContent(
Column(
modifier = Modifier
.fillMaxSize()
.imePadding()
.padding(horizontal = OrganicSpacing.xl),
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.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -107,6 +108,7 @@ fun JoinResidenceScreen(
modifier = Modifier
.fillMaxSize()
.padding(paddingValues)
.imePadding()
.padding(horizontal = AppSpacing.lg, vertical = AppSpacing.lg),
verticalArrangement = Arrangement.spacedBy(AppSpacing.lg),
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.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions
@@ -101,6 +102,7 @@ fun AddTaskWithResidenceScreen(
modifier = Modifier
.fillMaxSize()
.padding(paddingValues)
.imePadding()
.verticalScroll(rememberScrollState())
.padding(horizontal = AppSpacing.lg, vertical = AppSpacing.md),
verticalArrangement = Arrangement.spacedBy(AppSpacing.md)