Skip to content

Restore full-bleed Now Playing backdrop in the vertical pager - #82

Merged
sanylax0 merged 1 commit into
mainfrom
claude/repo-review-improvements-yvk3t7-pager-fullbleed
Jul 18, 2026
Merged

sanylax0 merged 1 commit into
mainfrom
claude/repo-review-improvements-yvk3t7-pager-fullbleed

Conversation

@sanylax2

Copy link
Copy Markdown
Collaborator

What

#79 stopped the neighbor-page bleed by clipping the pager to the safe-area frame, but that left black bands behind the status bar and home indicator — the blurred artwork no longer fills the screen like it did before the vertical pager landed.

How

Make the pager itself full-screen instead of clipped:

  • The ScrollView gets .ignoresSafeArea(), so containerRelativeFrame(.vertical) sizes each page to the full screen height — pages tile exactly one screen, so there's no neighbor bleed by construction (the reason Show exactly one pager page at a time #79 existed).
  • A GeometryReader captures the real safe-area insets and re-injects them per page with .safeAreaPadding(insets). That's additive safe area, not hard padding: the Library/Up Next NavigationStacks and the Now Playing chevrons inset correctly, while AlbumBackdrop's existing .ignoresSafeArea() escapes through it to the screen edges — restoring the full-bleed blur.
  • Black stays as the pager background so mid-flip gaps (if any) read as black rather than undefined.

Testing

Not buildable here (iOS app target) — please verify on device: blurred art reaches the very top and bottom of the screen on Now Playing, no library/queue slivers in the bars, library and queue pages keep their nav bars clear of the notch, and paging still snaps one screen at a time.

🤖 Generated with Claude Code

https://claude.ai/code/session_013TJoWkqg8bzkGdzxWhWjWP


Generated by Claude Code

The clip fix (#79) stopped the neighbor-page bleed but left black bands
in the status-bar and home-indicator areas. Make the pager itself
full-screen instead: pages tile exactly one screen height (no bleed by
construction), and the real safe-area insets are re-injected per page
via safeAreaPadding — additive safe area, so nav bars and chevrons stay
clear while AlbumBackdrop's ignoresSafeArea reaches the screen edges
again.
@sanylax0
sanylax0 merged commit 48f2566 into main Jul 18, 2026
1 of 3 checks passed
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.

3 participants