fix(homepage): stop the CTA rows and MCP card overflowing their containers - #366
Merged
Conversation
…iners Three separate overflows on the landing page, all invisible in the built output because an ancestor clipped them instead of scrolling. The MCP card was the worst: a grid item defaults to min-width:auto, so the column refused to shrink below the min-content width of the JSON config block (482px). On a 375px phone that forced the single column to 395px inside a 261px card, and the wrapper's overflow-hidden clipped the heading and body copy clean off — no scrollbar, just missing text. min-w-0 down the chain lets the <pre>, which already had overflow-x-auto, scroll on its own. The two button rows overflowed sideways because a third CTA was added to a nowrap row. The hero's three buttons need 747px in a 673px container below ~780px; the MCP row turns horizontal at sm but its grid column halves at md, so between those breakpoints its buttons ran into the panel alongside. Wrapping self-corrects at every width. The hero also aligns to the top now: its first CTA carries a subtitle, so centring floated the other two. Verified by measuring container spill at 375 / 640 / 768 / 900 / 1024 / 1280: previously 118px (MCP) and 74px (hero), now zero at every width, with both rows still on a single line at desktop. A sweep of the fully mounted page confirms no other element loses content to a clipping ancestor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Three overflows on the landing page. All of them were invisible as scrollbars, because in every case an ancestor clipped the overflow instead of scrolling it — so content was silently lost rather than reachable.
The MCP card was losing its text on mobile
A grid item defaults to
min-width: auto, which means it refuses to shrink below the min-content width of what's inside it. Inside this one is the JSON config block, min-content 482px. On a 375px phone that forced the single column to 395px inside a 261px card, and the card'soverflow-hiddenclipped the difference — the heading read "Connect any AI agen", and every paragraph lost its right-hand edge. No scrollbar, no clue anything was missing.min-w-0down the chain fixes it. The<pre>already hadoverflow-x-auto; it just never got the chance to use it, because the whole ancestor chain inflated instead. With the min-width floor removed the column drops to 261px, cardscrollWidthequalsclientWidth, and the config block scrolls by itself.Two button rows ran off sideways
Both are a third CTA added to a
nowraprow that used to hold two:sm(640px), but the grid column it lives in halves atmd(768px). Between those breakpoints two buttons totalling 397px sat in a 280px column and ran straight into the panel alongside. That's the overlap in the report.flex-wrapself-corrects at every width rather than trading one breakpoint for another. The hero also switches toitems-start: its first CTA carries a subtitle underneath, so centring floated the other two off its axis once the row wrapped.Verification
Measured container spill at 375 / 640 / 768 / 900 / 1024 / 1280:
Both rows still render on a single line at desktop, so the wrap costs nothing where it already fitted. A sweep of the fully mounted page (13938px) found no other element losing content to a clipping ancestor — the only remaining hits are
truncateellipses,sr-only, and the decorative background layers, all intentional.tscclean (the 5 pre-existingtxScriptRecovery.test.tserrors are on preprod too).One thing left alone: at 375px the hero's primary button is 339px against a 311px padded row, so it sits ~18px from each screen edge. It is not clipped and overlaps nothing — it is just a long label ("Get Started with Multisig using UTXOS") on a narrow screen. Making mobile CTAs full-width would fix it, but that is a design call rather than a bug fix.
🤖 Generated with Claude Code