Skip to content

fix(ui): import wizard scroll and viewport containment#33

Merged
robpaolella merged 3 commits into
mainfrom
fix/budget-template-scroll-ux
Apr 4, 2026
Merged

fix(ui): import wizard scroll and viewport containment#33
robpaolella merged 3 commits into
mainfrom
fix/budget-template-scroll-ux

Conversation

@robpaolella
Copy link
Copy Markdown
Owner

Summary

Fixes the Import from Template wizard overflowing the modal and running off the page. Adds scroll containment with gradient fade and down-arrow indicator to all three wizard steps.

Changes

  • Import wizard steps 1–3: Content area capped at maxHeight: 60vh with overflow-y-auto + hidden scrollbar, gradient fade overlay, and circular down-arrow scroll indicator
  • Header/footer always visible: Step titles and navigation buttons remain outside the scroll area

Pattern

Uses the same proven approach as the Budget Template modal's Template tab: direct maxHeight on both the outer div.relative (for gradient positioning) and the inner scrollable div — no flex chain or h-full dependency.

Files Changed

  • packages/client/src/pages/BudgetPage.tsx — scroll containers + indicator for all 3 wizard steps

robpaolella and others added 3 commits April 3, 2026 23:21
All three wizard steps now use flex-col layout with maxHeight
calc(80vh - 48px). Step headers and footer buttons are flex-shrink-0
(always visible). Content area is flex-1 min-h-0 with overflow-y-auto,
hidden scrollbar, gradient fade, and circular down-arrow indicator.

Co-authored-by: Copilot <[email protected]>
Desktop modal panel now has maxHeight: 90vh and flex-col layout so
content can't overflow the viewport. Import wizard steps use flex-1
min-h-0 to fill and scroll within the modal's constraint instead of
hardcoded calc(80vh - 48px) which didn't work without a constrained
parent.

Co-authored-by: Copilot <[email protected]>
Revert flex-based approach that didn't work — h-full can't resolve
through maxHeight + flex chain. Use the same proven pattern as the
BudgetTemplateModal template tab: outer div.relative + inner div both
with maxHeight: 60vh, inner has overflow-y-auto + hide-scrollbar.
Revert ResponsiveModal flex/maxHeight changes.

Co-authored-by: Copilot <[email protected]>
@robpaolella robpaolella merged commit cb7e262 into main Apr 4, 2026
1 check passed
@robpaolella robpaolella deleted the fix/budget-template-scroll-ux branch April 4, 2026 06:24
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