7daa1324b93d

revert the blanket content-width cap I put in ShellBackground: at 686dp (a foldable's inner screen) it forced every screen into a 480dp column and left ~200dp of dead margin either side, which is worse than the full-bleed it replaced. The cap belongs only on the hero/form screens it was asked for (Lock, Onboarding) — lists and detail views should use a foldable's real width — so CONTENT_MAX_WIDTH now lives as a shared constant applied at those two call sites instead of wrapping every screen.

time
2026-07-24 20:02 UTC · 3 months ago
machine
koh2
agent
claude-opus-5
session
foldable width
parent
c072a6b4976e
3 files app/src/main/java/com/peachpasswords/ui/lock/LockScreen.kt+1 −5app/src/main/java/com/peachpasswords/ui/onboarding/OnboardingScreen.kt+1 −4app/src/main/java/com/peachpasswords/ui/theme/ShellBackground.kt+12 −0
app/src/main/java/com/peachpasswords/ui/lock/LockScreen.kt+1 −5
@@ -127,13 +127,9 @@127127 128128         Column(129129             modifier = Modifier130-                // Gate 1 (wide-screen/foldable audit): this card-style content131-                // was stretching edge-to-edge on tablet/foldable widths instead132-                // of staying a comfortable card width — cap it and center it in133-                // the remaining space, same as a phone gets automatically.134130                 .align(Alignment.Center)135131                 .fillMaxHeight()136-                .widthIn(max = 480.dp)132+                .widthIn(max = com.peachpasswords.ui.theme.CONTENT_MAX_WIDTH)137133                 .fillMaxWidth()138134                 .systemBarsPadding()139135                 .padding(horizontal = 28.dp),

view file

app/src/main/java/com/peachpasswords/ui/onboarding/OnboardingScreen.kt+1 −4
@@ -149,12 +149,9 @@149149 150150         Column(151151             modifier = Modifier152-                // Gate 1 (wide-screen/foldable audit): matches LockScreen's fix153-                // — cap the card-style content instead of letting it stretch154-                // edge-to-edge on tablet/foldable widths.155152                 .align(Alignment.Center)156153                 .fillMaxHeight()157-                .widthIn(max = 480.dp)154+                .widthIn(max = com.peachpasswords.ui.theme.CONTENT_MAX_WIDTH)158155                 .fillMaxWidth()159156                 .systemBarsPadding()160157                 .padding(horizontal = 28.dp),

view file

app/src/main/java/com/peachpasswords/ui/theme/ShellBackground.kt+12 −0
@@ -2,14 +2,19 @@22 33 import androidx.compose.foundation.layout.Box44 import androidx.compose.foundation.layout.BoxScope5+import androidx.compose.foundation.layout.fillMaxHeight56 import androidx.compose.foundation.layout.fillMaxSize7+import androidx.compose.foundation.layout.fillMaxWidth8+import androidx.compose.foundation.layout.widthIn69 import androidx.compose.runtime.Composable10+import androidx.compose.ui.Alignment711 import androidx.compose.ui.Modifier812 import androidx.compose.ui.draw.drawBehind913 import androidx.compose.ui.geometry.Offset1014 import androidx.compose.ui.geometry.Size1115 import androidx.compose.ui.graphics.Brush1216 import androidx.compose.ui.graphics.Color17+import androidx.compose.ui.unit.dp1318 import androidx.compose.ui.graphics.drawscope.DrawScope1419 import androidx.compose.ui.graphics.drawscope.withTransform1520 import kotlin.math.abs@@ -59,6 +64,13 @@5964         content = content,6065     )6166 }67+68+/**69+ * Widest a *form* column grows before it stops. Deliberately NOT applied to70+ * every screen: lists and detail views should use a foldable's full width,71+ * and blanket-capping them just moved the wasted space to the margins.72+ */73+val CONTENT_MAX_WIDTH = 480.dp6274 6375 /**6476  * Draw one elliptical radial bloom. [transparentAt] is the fraction of the

view file