Repository navigation
Conversation
Mobile browsers collapse their toolbars only when the document scrolls. Below lg, the document is now the scroller and the bottom nav is fixed. The vote bar sticks above the bottom nav and observes the viewport. Desktop keeps main as the scroller.
vaul does not start a drag when the document is scrolled. A drawer that opened on a scrolled page did not close on a swipe down.
|
✅ No security or compliance issues detected. Reviewed everything up to a9b9ca7. Security OverviewDetected Code Changes
|
📊 Build Bundle StatsThe latest build generated the following assets: |
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Standalone navigation positioning needs correction, and global scroll locking warrants real-device validation.
1 open issue
What changed in this PR
Moves mobile scrolling to the document so browser toolbars can collapse, while preserving desktop scrolling inside main.
Changes:
- Fixes the mobile navigation to the viewport and adjusts vote-bar docking.
- Resets document scrolling on navigation and locks it while drawers are open.
- Adds drawer-lock and observer-root tests.
| File | Description |
|---|---|
src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.tsx |
Adapts docking offsets and observer roots. |
src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.test.tsx |
Tests mobile and desktop observer behavior. |
src/governance-app-frontend/src/common/hooks/useScrollResetOnNavigation.ts |
Resets window scrolling on page changes. |
src/governance-app-frontend/src/common/components/navigation/BottomNav.tsx |
Makes mobile navigation fixed. |
src/governance-app-frontend/src/common/components/MainLayout.tsx |
Enables document scrolling below desktop widths. |
src/governance-app-frontend/src/common/components/Drawer.tsx |
Freezes and restores document scrolling. |
src/governance-app-frontend/src/common/components/Drawer.test.tsx |
Covers scroll-lock lifecycle and overlapping drawers. |
src/governance-app-frontend/src/app/styles/main.css |
Restricts document overflow locking to desktop. |
Review effort: Balanced
# Conflicts: # src/governance-app-frontend/src/app/styles/main.css # src/governance-app-frontend/src/common/components/Drawer.test.tsx # src/governance-app-frontend/src/common/components/Drawer.tsx # src/governance-app-frontend/src/common/components/MainLayout.tsx # src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.tsx
# Conflicts: # src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.test.tsx # src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.tsx
Copilot
AI
dismissed their stale review, a newer Copilot review was requested
November 5, 2026 10:55
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The fixed-body drawer lock requires on-device verification of keyboard focus, nested drawers, and close-time scroll restoration on iOS Safari and Android Chrome, which jsdom cannot validate.
No open issues 🎉
Review effort: Balanced
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.

Motivation
On mobile,
mainwas the scroller, so the browser toolbars never collapsed. In iPhone Safari a swipe scrolledmainby 464 px whilewindow.scrollYstayed 0, and the Safari toolbar stayed full size under the floating bottom nav.With the document as the scroller, the visible height goes from 714 to 754 px in iOS 26 Safari and from 813 to 869 px in Chrome 155 on Android after one swipe.
Changes
lgfrommainto the document, and made the bottom navfixed. Desktop keepsmainas the scroller.Screenshots
ios-proposal-prototype.mp4
Prev. #503