feat(landing): single-viewport on md+, /resume keeps its own scroll#21
Merged
Ross (ross-makeacompany) merged 1 commit intoJun 8, 2026
Merged
Conversation
Grant flagged on iPad: grantfoster.dev landing scrolls when it should be one screen. /resume should still scroll because it's long-form content. Root cause: the layout wrapper used overflow-y-auto unconditionally, which let the Hero overflow the viewport on iPad/desktop even though src/app/page.tsx already had md:overflow-hidden chained through five flex wrappers. Fix: - layout.tsx: wrapper becomes overflow-y-auto md:overflow-y-hidden. Mobile keeps the auto-scroll. Desktop + iPad clamp. - resume/page.tsx: main adds md:h-full md:overflow-y-auto so the long-form resume page reintroduces its own scroll container at md+. This puts the layout in 'permissive on mobile, clamped on md+' mode and lets long-form routes opt back in. Future single-screen pages (e.g. coming-soon, project landings) inherit the no-scroll default without code; new long-form pages just add md:h-full md:overflow-y-auto on their root. Build green (next build), tsc --noEmit clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grant flagged on iPad that grantfoster.dev landing scrolls when it should be one screen. `/resume` should still scroll because it's long-form content.
Root cause
`src/app/layout.tsx` wrapped children in `<div className="… overflow-y-auto">` unconditionally. That defeated the `md:overflow-hidden` chained through five flex wrappers in `src/app/page.tsx` — even though the landing page tried to clamp itself, the layout's scroll container won.
Fix
Net effect: layout is "permissive on mobile, clamped on md+" and long-form routes opt back in.
What this unblocks going forward
Future single-screen pages (coming-soon, project landings) inherit the no-scroll default without code. New long-form pages add `md:h-full md:overflow-y-auto` on their root.
Verification
🤖 Generated with Claude Code