P1-5 fix: 390px containment — consensus rows stack, pitcher line wraps
Phone audit: CONSENSUS VS MODEL bled off the right edge ('2 BO…', 'MO…') and
STARTING-pitcher lines truncated ('2.64 E…'). The M4 lock only hid the DOCUMENT
scroll (html/body overflow-x) — content still clipped inside cards. Now contained:
- .breadth-row stacks (flex-direction:column) at <430px, each field on its own
line with overflow-wrap:anywhere — no bleed.
- the game-card starting-pitcher inner spans wrap + shrink (flexWrap + minWidth:0)
so name/ERA/archetype flow onto a second line instead of clipping.
- STRENGTHENED the lock: vyndrParityQA now asserts the CONTAINMENT patterns
(breadth-row stacks, pitcher spans wrap), not just document overflow.
MLB stat pills: the game-lines grid already scrolls-within-card (<640 M1); if
the audit still shows pill clipping elsewhere, it's a follow-up targeted pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -265,3 +265,19 @@ describe('P0-4 — mobile app bar is one line (ticker + heartbeat hidden)', () =
|
||||
expect(css).toMatch(/\.slate-sticky-head\s*\{\s*top:\s*60px/);
|
||||
});
|
||||
});
|
||||
|
||||
// ── P1-5 lock — 390px containment (strengthened: content, not just doc scroll) ─
|
||||
describe('P1-5 — dense rows CONTAIN at 390px (not just html overflow-x:hidden)', () => {
|
||||
const css = read('app/globals.css');
|
||||
it('consensus rows stack at <430px so they never bleed off the right edge', () => {
|
||||
expect(css).toMatch(/@media\s*\(max-width:\s*430px\)\s*\{[^]*?\.breadth-row\s*\{[^}]*flex-direction:\s*column/);
|
||||
expect(css).toMatch(/\.breadth-row\s*>\s*span\s*\{[^}]*overflow-wrap:\s*anywhere/);
|
||||
expect(read('components/vyndr/MarketBreadth.tsx')).toMatch(/breadth-row/);
|
||||
});
|
||||
it('the starting-pitcher line wraps its name/ERA inside the card (no truncation)', () => {
|
||||
const gc = read('components/vyndr/GameCard.tsx');
|
||||
// the inner pitcher spans allow wrap + shrink so "2.64 ERA" never gets cut
|
||||
expect(gc).toMatch(/g\.pitchers\.away\.era/);
|
||||
expect((gc.match(/flexWrap: 'wrap', minWidth: 0/g) || []).length).toBeGreaterThanOrEqual(2);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user