From ce53d17afc3b23d294003d4960a453f0aa9f3234 Mon Sep 17 00:00:00 2001 From: Robin Kutesa Date: Fri, 22 May 2026 03:46:11 +0300 Subject: [PATCH] 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 Co-Authored-By: Sentry --- Features/Backup/BackupView.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Features/Backup/BackupView.swift b/Features/Backup/BackupView.swift index 8246264..0961be6 100644 --- a/Features/Backup/BackupView.swift +++ b/Features/Backup/BackupView.swift @@ -61,7 +61,7 @@ struct BackupView: View { .frame(maxWidth: .infinity) .padding(.top, 16) - Spacer(minLength: 16).frame(maxHeight: 40) + Color.clear.frame(height: 24) // ─── Hero — outside ScrollView so pull gesture fires ─── heroView @@ -77,10 +77,9 @@ struct BackupView: View { statsStrip .padding(.horizontal, AppTheme.hPad) .padding(.top, 4) - Spacer(minLength: 16).frame(maxHeight: 32) + Color.clear.frame(height: 20) nasStatusRow .padding(.horizontal, AppTheme.hPad) - Spacer(minLength: 8).frame(maxHeight: 20) } .refreshable { await triggerRefreshAndBackup() } } else if ringPage == 1 {