fix(backup): pixel-align page 1/2 stats to page 0 stats strip position

Replace the hard-coded Color.clear(height:60) placeholder with the real
cascadingArrows + circleStatusRow views set to opacity(0). Both are always
laid out so they reserve the identical height on every page, guaranteeing
the stats strip sits at the same Y coordinate regardless of active page.

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:29:13 +03:00
parent 5751d1e36d
commit d14f0a3446

View File

@@ -681,18 +681,15 @@ struct BackupView: View {
}
.padding(.bottom, 4)
if ringPage == 0 {
cascadingArrows
.frame(height: 16)
.padding(.bottom, 8)
.opacity(ringPage == 0 ? 1 : 0)
circleStatusRow
.padding(.horizontal, AppTheme.hPad)
.padding(.bottom, 10)
} else {
// Match page 0 spacing so the ring stays at the same Y
Color.clear.frame(height: 60)
}
.opacity(ringPage == 0 ? 1 : 0)
}
// Pull zone floats above the ring on all pages
.overlay(alignment: .top) {