fix: onboarding "Continue" button overlaps Bio textarea on small viewports#29046
Conversation
|
Welcome to Cal.diy, @caelshepley! Thanks for opening this pull request. A few things to keep in mind:
A maintainer will review your PR soon. Thanks for contributing! |
📝 WalkthroughWalkthroughChanges to the onboarding components modify scrolling and layout behavior. The OnboardingLayout component switches the inner grid container's overflow property from 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
apps/web/modules/onboarding/components/OnboardingLayout.tsx (1)
36-42: Consider mirroring the overflow change for column 2.Column 1’s wrapper has no
overflow-hidden, but column 2 (Line 41) still does. If anyOnboardingCardrendered into column 2 usesfloatingFooter, its newsticky bottom-0footer will be clipped/non-sticky inside that column the same way the original bug manifested. Aligning column 2 (e.g.,overflow-autoor removing the rule) would prevent re-introducing this issue elsewhere, consistent with the PR note that similar overlap exists in other places.♻️ Suggested change
{column2 && ( - <div className="hidden h-full max-h-full min-h-0 flex-col overflow-hidden xl:flex">{column2}</div> + <div className="hidden h-full max-h-full min-h-0 flex-col overflow-auto xl:flex">{column2}</div> )}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/modules/onboarding/components/OnboardingLayout.tsx` around lines 36 - 42, In OnboardingLayout, column2's wrapper div currently uses "overflow-hidden" which will clip any OnboardingCard floatingFooter/sticky bottom elements; change the column2 wrapper (the JSX element that renders when column2 is truthy) to match column1's overflow behavior (e.g., remove "overflow-hidden" or replace it with "overflow-auto") so sticky/floating footers inside OnboardingCard remain visible and behave consistently across breakpoints.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@apps/web/modules/onboarding/components/OnboardingLayout.tsx`:
- Around line 36-42: In OnboardingLayout, column2's wrapper div currently uses
"overflow-hidden" which will clip any OnboardingCard floatingFooter/sticky
bottom elements; change the column2 wrapper (the JSX element that renders when
column2 is truthy) to match column1's overflow behavior (e.g., remove
"overflow-hidden" or replace it with "overflow-auto") so sticky/floating footers
inside OnboardingCard remain visible and behave consistently across breakpoints.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 694a131a-0209-4e16-816e-f2d677876441
📒 Files selected for processing (2)
apps/web/modules/onboarding/components/OnboardingCard.tsxapps/web/modules/onboarding/components/OnboardingLayout.tsx
|
@caelshepley Thanks for PR! please add both before and after video demo. |
|
@romitg2 Before the button is stuck on top of bio: Screen.Recording.2026-04-27.084946.mp4 |
What does this PR do?
Fixes a responsive layout bug on the onboarding "Add your details" screen where
the floating "Continue" button overlaps the Bio textarea at reduced viewport widths
(e.g. split screen / ~50% window width).
Root causes identified:
floatingFooterusedposition: absolute, causing it to visually overlay contentbeneath it regardless of scroll position
overflow-y: auto, so tall content couldn't scrollOnboardingLayouthadoverflow-hidden, clipping contentChanges made:
OnboardingCard.tsx: Changed floating footer fromabsolutetosticky bottom-0so it anchors to the bottom of the scroll container without overlapping content
OnboardingCard.tsx: Addedoverflow-y-autoto the content div and increasedbottom padding (
pb-16) so content isn't hidden behind the sticky footerOnboardingLayout.tsx: Changedoverflow-hiddentooverflow-autoon the cardcontainer to allow scrolling at narrow viewports
Visual Demo
Recording.2026-04-26.174746.mp4
Mandatory Tasks
How should this be tested?
Before fix: The "Continue" button floats on top of the Bio field, blocking input
After fix: The content area scrolls independently; the Continue button sticks
to the bottom of the card without overlapping the textarea