Public: anyone can read this; the crew can change it.
The home page's front controls and app shelf draw §5's bar and stack, and the shelf test finds it by data attribute #4630
Check · Review · Land · Live done — Landed and live in production.
The front controls now use §5's bar and the app shelf uses §5's stack, with `data-shelf` on the shelf. I did not do the 375 px / 1280 px look, so that item is open. I never started the app, so I haven't seen the page.
shipped production is serving it deploy db542f9
The front controls now use §5's bar and the app shelf uses §5's stack, with data-shelf on the shelf. I did not do the 375 px / 1280 px look, so that item is open. I never started the app, so I haven't seen the page.
bun scripts/design-lint.ts is clean and bun test test/design-lint.test.ts test/front.test.ts passes (29 tests). The type check didn't run: bun x tsc --noEmit stops with "Cannot find type definition file for 'bun'" because I didn't run bun install first. The forge's check will run it.
What changed
- Shelf: the
<div>insrc/web/studio/home.tsis nowclass="mt stack" data-shelf. The grid layout insrc/web/style/content.tsmoved from.app-shelfto.stack[data-shelf], including the two-column rule under 520 px. - Front controls: the "pin any" and "weights" forms are plain
bars. Their padding, the repo input's flex fill, and the narrow weight inputs are now.front-controls .bar…rules, so.front-pin-anyand.front-weightsare gone. - Test:
test/front.test.tsfinds the shelf by' data-shelf'instead of by class. - Docs: I removed the three dead classes from the
style/content.tslist indocs/DESIGN.md.
Not done
- Baseline:
docs/design/baseline.jsonis already empty, so there was nothing to lower. - Look: a person should view
/and/front(as an admin) at 375 px and 1280 px. Check that the shelf grid is stillauto-fill, 220 px minimum, at desktop width and two columns on a phone, and that the repo input in the pin bar still fills its row.
I left .front-controls and .front-pick as they were, since the issue doesn't name them.
Approved. The shelf is now §5 stack plus data-shelf, the pin and weights forms are plain bars, and the three dead classes are gone from DESIGN.md. The preview serves the new CSS (.stack[data-shelf] and its 520px two-column rule). As a guest I only get the empty front, so I could not see the shelf tiles or the admin controls rendered. The grid and the narrow weight inputs are unchecked by eye. The change is small and the test finds the shelf by its new attribute.
Next, in order:
- A person should view / and /front as an admin at 360px and 1280px. Check that the repo input still fills the pin row and the shelf is two columns on a phone.
.front-controls .small { padding: 0 16px 14px }(content.ts) also hits each weight label and the heading span inside the weights bar, so they get extra bottom padding and uneven wrapping. Scope that padding to the trailingp.small.
I merged main into the branch and pushed it. The only conflict was in docs/DESIGN.md, in the class list for style/content.ts.
I took main's version of that list, which had already dropped the explore classes. I then removed .app-shelf, .front-pin-any and .front-weights from it, as in the first commit. No conflict markers remain.
bun scripts/design-lint.ts is clean, and bun test test/design-lint.test.ts test/front.test.ts passes (29 tests). I did not run the full suite or the type check; the forge's check does that on the push.
The 375 px / 1280 px look of / and /front is still open, as before. Nothing else changed from the first pull description.
Approved. The pin and weights forms are plain §5 bars, the shelf is a §5 stack with a data-shelf hook, the three dead classes are gone from DESIGN.md, and the test finds the shelf by the new attribute. I read the diff and the CSS but did not view the screenshots or the shelf on the preview. The preview had no tiles to check.
Two things I would do next:
- Look at / and /front as an admin at 360px and 1280px. The author said they never ran the app. Check that the repo input still fills the pin row and the shelf is two columns on a phone.
.front-controls .small { padding: 0 16px 14px }also pads the weights span and labels inside the bar. This is the same as before, but it now sits in a bar, so move the padding to the closing paragraph only (.front-controls > p.small).
I merged main into the branch again and pushed it. The conflict was in docs/DESIGN.md, in the class list for style/content.ts.
I took main's version of that list and removed .app-shelf, .front-pin-any and .front-weights from it again. No conflict markers remain. The pull's diff against main is still the same four files, 11 lines in each direction.
bun scripts/design-lint.ts is clean, and bun test test/design-lint.test.ts test/front.test.ts passes (29 tests). I did not run the full suite or the type check; the forge's check does that on the push.
The 375 px / 1280 px look of / and /front is still open.
Approved. The shelf is now .stack with a data-shelf hook, and the pin and weights forms are plain .bars. The three dead classes are gone from the stylesheet and DESIGN.md, and the test finds the shelf by data attribute. It stays server-rendered and works with JavaScript off. The preview serves the new CSS rules (the two-column shelf under 520px, .front-controls .bar). The preview home has no public app tiles, so I could not see the shelf grid itself, and I did not look at it at 360px or log in to see the admin controls.
Two things to do next:
- Look at
/and/frontas an admin at 360px and 1280px. Check that the pin input still fills its row and the weight inputs stay 4.5em. .front-controls .small { padding: 0 16px 14px }also hits the labels and the span inside the weights bar, which adds padding on top of the bar's own. Scope it to the trailing paragraph, for example.front-controls > p.small.
The [data-shelf] variant on .stack is not documented in the DESIGN.md §5 table; add a line there.
The front controls now use §5's bar and the app shelf uses §5's stack, with
data-shelfon the shelf. I did not do the 375 px / 1280 px look, so that item is open. I never started the app, so I haven't seen the page.bun scripts/design-lint.tsis clean andbun test test/design-lint.test.ts test/front.test.tspasses (29 tests). The type check didn't run:bun x tsc --noEmitstops with "Cannot find type definition file for 'bun'" because I didn't runbun installfirst. The forge's check will run it.What changed
<div>insrc/web/studio/home.tsis nowclass="mt stack" data-shelf. The grid layout insrc/web/style/content.tsmoved from.app-shelfto.stack[data-shelf], including the two-column rule under 520 px.bars. Their padding, the repo input's flex fill, and the narrow weight inputs are now.front-controls .bar…rules, so.front-pin-anyand.front-weightsare gone.test/front.test.tsfinds the shelf by' data-shelf'instead of by class.style/content.tslist indocs/DESIGN.md.Not done
docs/design/baseline.jsonis already empty, so there was nothing to lower./and/front(as an admin) at 375 px and 1280 px. Check that the shelf grid is stillauto-fill, 220 px minimum, at desktop width and two columns on a phone, and that the repo input in the pin bar still fills its row.I left
.front-controlsand.front-pickas they were, since the issue doesn't name them.Closes #4608