Repository navigation
fix(design): the empty-state block's rules stay inside it, and its phone row stacks on narrow screens - #3423
Conversation
…one row stacks on narrow screens #3422 brought the empty-state CSS over from #3220 unscoped. One rule, `.app.m .mbody2 > .search`, also matched the agent-memory 390 frame and grew its search box from 34 to 44 px. Every rule in the block now starts with #s-empty. The two three-phone rows used an inline grid that beat the one-column breakpoint; they use a .row2--three class instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MDs9DT6tbhKm6UhsmFhLk9
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
lilyshen0722
left a comment
There was a problem hiding this comment.
Review at 3b8b520 (one subagent review, Opus; tier 0: a design artboard). Headless Chromium compared every computed style and box size in all frames, origin/main against this head, at 1600, 1000 and 390 px.
- Scoping: all 19 rules start with
#s-empty, and so does each part of both comma lists. No rule is dead: every element they target sits inside<section id="s-empty">, and so does the only.focuswith a.muchild. - Specificity: the block was already last in the stylesheet, so the id changes no result. At 1600 px the only computed difference on the page is the intended fix: agent-memory 390's
.searchgoes back from 44 to 34 px. Nothing inside#s-emptychanges. - Breakpoints:
.row2--three(0,1,0) comes before the 1180 and 640 px media rules, so both now apply.- 390 px: the phone frames go from 102 to 340 px wide, so they stack.
- 1000 px: two per row, like every other
.row2row. The body now says so. - 1600 px: identical to the old inline style.
- Body: its claims match the measurements.
GATE: PASS
Follow-up to #3422, from its CodeRabbit review.
What changed
#s-empty. docs(d215): empty and error frames for the pod list, board, memory and an unknown page #3422 ported the block from docs(design): d215 empty and error states on drawn pages (TASK-757) #3220 unscoped, and.app.m .mbody2 > .searchalso matched the agent-memory 390 frame. That grew its search box from 34 to 44 px and pushed everything below it down..row2--threeclass in place of an inlinegrid-template-columns. The inline style beat the one-column breakpoint atmax-width: 640px, so on a phone-width page each frame shrank to about 100 px.Proof
Headless Chromium, every element's box in every frame outside
#s-empty(138 frames), measured against main as it was before #3422:The animated frames differ between two loads of main itself, so they're timing noise. At a 390 px page width, the
#s-emptyframes now render 340 px wide, which means they stack.node --test cap/measure_after.test.jspasses.Between 640 and 1180 px, the three-phone rows now follow the 1180 breakpoint like every other
.row2row: two frames per row, with the third wrapping alone. Before, the inline style held them at three across.🤖 Generated with Claude Code
https://claude.ai/code/session_01MDs9DT6tbhKm6UhsmFhLk9