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
↓ peach-android-7daa1324.tar.gzatlas at this save
files changed3 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 −0app/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),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),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