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