fix: address follow-ups - #231
Conversation
|
This PR now conflicts with File-by-file
Suggested path forward
Everything else in this PR (hover-target fix, subtitle parity, mobile card wrapping, image |
|
Following up on the merge-conflict note above: Gill87 posted a PR comparison on #227 (#227 (comment)) sizing up #227 vs #230 vs #231 before #227 merged, and its recommendation for this PR lines up with the conflict analysis here — worth surfacing since it changes the right next step. Recommendation: narrow this PR instead of rebasing it wholeThe #227 comparison explicitly calls out:
That matches what the conflict analysis above found independently: Given two independent passes landed on the same conclusion, I'd suggest not rebasing this PR wholesale. Instead:
That gets the real value of this PR in with a clean, conflict-free diff. I'd suggest closing this PR in favor of that narrower one rather than resolving the current conflicts by hand. Happy to put up the cherry-picked version if that's easier than you redoing it. |
Summary
.welcome-backoverlap on short viewports, a hover-vs-click-target mismatch, subtitle height parity, an a11y gap, and hero icon loading priority.Motivation
The unification PR was merged with several non-blocking review comments deferred to a follow-up. This PR closes those out so the flow is fully consistent and doesn't regress on mobile or short viewports.
Changes
flex-wrapon.landing-cards/.welcome-cardsand added a520pxbreakpoint (matchingupload-route) so the two-card row stacks instead of overflowing on narrow viewports.640pxmax-height breakpoint that drops.welcome-backout ofposition: absoluteinto normal flow, preventing it from overlapping card content on short viewports..landing-subtitlethe samemin-height: 46pxtreatment as.welcome-subtitlefor consistent card height across copy lengths.upload-routefile-row asaria-hidden.priorityto the four landing/welcome hero icons, which are plausible LCP elements.Related issues / PRs
Validation
Commands run to validate this change (all from
app/ui):npm run lintnpm run format:checknpm run typechecknpm run testnpm run buildObserved:
lint,format:check, andtypecheckcompleted with zero errors.test: 131 passed across 25 files, unchanged pass count from baseline.build: production build compiled and prerendered all 16 routes successfully.Not performed this session: a live browser check of the two viewport breakpoints (Chrome extension was not connected). The responsive/overlap fixes are verified by code inspection and the automated suite above only. Recommend a manual pass — resize to under 520px width and under 640px height on
/and/welcome— before merging, and attach before/after screenshots.Not applicable: no backend, mobile, or docker-compose changes in this PR, so those validation commands were not run.
Risk
Low. This PR is CSS and markup only across three existing pages — no data, API, or state-management changes. Build and test coverage above confirm the pages still compile and prerender correctly. The main residual risk is on the two new viewport breakpoints, since they were verified by code inspection rather than a live browser resize test this session.
Rollout and Recovery
Standard merge-and-deploy; no feature flag or migration involved. If a visual regression surfaces after merge, it is revertible via a single
git revertof this commit since the change is isolated to three files with no downstream dependents.