fix(backup): replace flexible Spacers with fixed heights for consistent stat alignment

The Spacer(minLength:16).frame(maxHeight:40) between brand and ring was
expanding to ~40pt on pages 1/2 (no competing ScrollView) but collapsing
to ~16pt on page 0 (ScrollView takes flexible space), shifting the ring
and stats strip down by up to 24pt on storage/cleanup pages. Fixed height.

Co-Authored-By: Kutesir <kutesir@provoc.ug>
Co-Authored-By: Sentry <sentry@provoc.ug>
This commit is contained in:
Robin Kutesa
2026-05-22 03:46:11 +03:00
parent 3df8b61e52
commit ce53d17afc

View File

@@ -61,7 +61,7 @@ struct BackupView: View {
.frame(maxWidth: .infinity) .frame(maxWidth: .infinity)
.padding(.top, 16) .padding(.top, 16)
Spacer(minLength: 16).frame(maxHeight: 40) Color.clear.frame(height: 24)
// Hero outside ScrollView so pull gesture fires // Hero outside ScrollView so pull gesture fires
heroView heroView
@@ -77,10 +77,9 @@ struct BackupView: View {
statsStrip statsStrip
.padding(.horizontal, AppTheme.hPad) .padding(.horizontal, AppTheme.hPad)
.padding(.top, 4) .padding(.top, 4)
Spacer(minLength: 16).frame(maxHeight: 32) Color.clear.frame(height: 20)
nasStatusRow nasStatusRow
.padding(.horizontal, AppTheme.hPad) .padding(.horizontal, AppTheme.hPad)
Spacer(minLength: 8).frame(maxHeight: 20)
} }
.refreshable { await triggerRefreshAndBackup() } .refreshable { await triggerRefreshAndBackup() }
} else if ringPage == 1 { } else if ringPage == 1 {