Skip to content

Size the pager backdrop to the full-bleed page height - #142

Closed
ShawnMadadha wants to merge 1 commit into
mainfrom
claude/pager-backdrop-height
Closed

ShawnMadadha wants to merge 1 commit into
mainfrom
claude/pager-backdrop-height

Conversation

@ShawnMadadha

Copy link
Copy Markdown
Contributor

Problem

On Now Playing, the album gradient stops short of the screen edges — dark bands (~46pt, half the safe-area insets) at the status bar and above the home indicator instead of the backdrop blending seamlessly into them.

Root cause

MainPagerView measures pageHeight from its GeometryReader, which sits inside the safe area — but the pages are sized by containerRelativeFrame against the full-bleed scroll viewport (the ScrollView ignores the safe area). The shared PagerBackdrop therefore spans three too-short pages and gets centered behind the taller content, leaving half-an-inset of uncovered flat background at each end of every page.

Fix

pageHeight = proxy.size.height + insets.top + insets.bottom — the true tiled page height. One line plus a comment explaining the geometry so it doesn't regress.

Verification

Built and launched on the iPhone 17 Pro Max simulator (iOS 26): the gradient now runs edge-to-edge behind the status bar and home indicator with no bands or seams.

🤖 Generated with Claude Code

The shared PagerBackdrop was sized from the GeometryReader's height,
which is measured inside the safe area — but the pages it sits behind
tile the full-bleed viewport (the ScrollView ignores the safe area).
The backdrop came up one safe-area short over three pages and was
centered behind the content, leaving ~half-an-inset dark band at the
status bar and home indicator on Now Playing.

Add both insets back to the measured height so the backdrop covers
the pages exactly.
@sanylax2

Copy link
Copy Markdown
Collaborator

never cook again

@sanylax2 sanylax2 closed this Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants