Skip to content

fix(web): keep dashboard chrome pinned when modals scroll-lock body - #4

Merged
sardorml merged 1 commit into
mainfrom
fix/dashboard-shell-scroll
Jul 10, 2026
Merged

fix(web): keep dashboard chrome pinned when modals scroll-lock body#4
sardorml merged 1 commit into
mainfrom
fix/dashboard-shell-scroll

Conversation

@sardorml

Copy link
Copy Markdown
Owner

Problem

Opening a modal on the dashboard scroll-locks <body>, which turns the body into a scroll container and un-sticks the sticky sidebar/header mid-scroll — the dashboard chrome visibly jumps.

Fix

Make the shell own scrolling instead of relying on sticky-in-document-scroll:

  • Layout is fixed at height: 100vh (was minHeight)
  • Sider and Header drop their position: sticky styles — they're pinned by the layout itself
  • Content becomes the scroll container (overflowY: auto)
  • inner Layout gets minWidth: 0 so it can shrink within the flex row

Modal scroll-locking now affects nothing, since the body never scrolls.

Testing

  • pnpm typecheck green
  • pnpm --filter @captureflow/web test — 26/26 pass

Sticky sidebar/header un-stick mid-scroll when a modal scroll-locks
<body>, since that turns the body into a scroll container. Make the
shell own scrolling instead: fixed-height layout, Content scrolls.
@sardorml
sardorml marked this pull request as ready for review July 10, 2026 06:26
@sardorml
sardorml merged commit 8809fdb into main Jul 10, 2026
6 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.

1 participant