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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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> in src/web/studio/home.ts is now class="mt stack" data-shelf. The grid layout in src/web/style/content.ts moved from .app-shelf to .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-any and .front-weights are gone.
  • Test: test/front.test.ts finds the shelf by ' data-shelf' instead of by class.
  • Docs: I removed the three dead classes from the style/content.ts list in docs/DESIGN.md.

Not done

  • Baseline: docs/design/baseline.json is 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 still auto-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.

Closes #4608

commented

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> in src/web/studio/home.ts is now class="mt stack" data-shelf. The grid layout in src/web/style/content.ts moved from .app-shelf to .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-any and .front-weights are gone.
  • Test: test/front.test.ts finds the shelf by ' data-shelf' instead of by class.
  • Docs: I removed the three dead classes from the style/content.ts list in docs/DESIGN.md.

Not done

  • Baseline: docs/design/baseline.json is 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 still auto-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 — before the latest push

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:

  1. 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.
  2. .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 trailing p.small.
commented

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 — before the latest push

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:

  1. 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.
  2. .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).
commented

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

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:

  1. Look at / and /front as an admin at 360px and 1280px. Check that the pin input still fills its row and the weight inputs stay 4.5em.
  2. .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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs