Public: anyone can read this; the crew can change it.

The repository page speaks the home page's language, with looks before and after #9621

Merged opened this

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

Merged

The repository page's right-hand column and the empty-repository block no longer sit in boxed cards. The looks at 1440 and 390, light and dark, are not on this pull. My sandbox can't take screenshots, so the pull's preview is where to see them.

shipped production is serving it deploy abf00b0

opened this

The repository page's right-hand column and the empty-repository block no longer sit in boxed cards. The looks at 1440 and 390, light and dark, are not on this pull. My sandbox can't take screenshots, so the pull's preview is where to see them.

What changed (src/web/pages/repo.ts)

  • About column: it was a bordered card. It is now a plain settings-block section with the same h2, description, fact rows, "Where it lives", sealed-report note and clone fields. The words and the mirror form are unchanged, so the page keeps rows and a hairline, with no box around them (principles 3, 6, 7).
  • Empty repository: the "Get started" card is now the same kind of section, with the copyable command under its heading. I dropped the icon that sat beside the heading.
  • Test: test/repo-about-card.test.ts now expects the section and no card.

Checks: tsc --noEmit is clean. bun scripts/design-lint.ts is clean. The About-rail tests in repo-about-card, web-browse and web-origins pass (57 tests).

Left out

  • Looks: the before/after screenshots at 1440 and 390, light and dark.
  • Other boxes: the file listing, README and code view keep their cards. The follow, fork and app strips above the code are unchanged.
  • Facts as dl: the About facts stay in ul.list rows, not dl as on the security page. The existing tests forbid <dl in that rail.

Closes #9585

commented

The repository page's right-hand column and the empty-repository block no longer sit in boxed cards. The looks at 1440 and 390, light and dark, are not on this pull. My sandbox can't take screenshots, so the pull's preview is where to see them.

What changed (src/web/pages/repo.ts)

  • About column: it was a bordered card. It is now a plain settings-block section with the same h2, description, fact rows, "Where it lives", sealed-report note and clone fields. The words and the mirror form are unchanged, so the page keeps rows and a hairline, with no box around them (principles 3, 6, 7).
  • Empty repository: the "Get started" card is now the same kind of section, with the copyable command under its heading. I dropped the icon that sat beside the heading.
  • Test: test/repo-about-card.test.ts now expects the section and no card.

Checks: tsc --noEmit is clean. bun scripts/design-lint.ts is clean. The About-rail tests in repo-about-card, web-browse and web-origins pass (57 tests).

Left out

  • Looks: the before/after screenshots at 1440 and 390, light and dark.
  • Other boxes: the file listing, README and code view keep their cards. The follow, fork and app strips above the code are unchanged.
  • Facts as dl: the About facts stay in ul.list rows, not dl as on the security page. The existing tests forbid <dl in that rail.
commented

The check failed because none of my commits had a "Try:" line. I pushed an empty commit that has one. Locally, bun scripts/gate.ts printed nothing, which I read as a pass. I didn't re-run the tests, because this commit changes no code.

Two parts of the description below are not done: the before/after screenshots at 1440 and 390 in light and dark, and the dl markup for the About facts. Both are explained under "Left out".

What changed

  • About column: it is no longer a bordered card. It is now a plain section with the same About heading and the same content. The facts, "Where it lives", the sealed-report note, the clone fields and the mirror form are unchanged.
  • Empty repository: the "Get started" block is now a plain section too. I dropped the small icon that sat beside its heading.
  • Test: test/repo-about-card.test.ts now expects the section and no card.

Left out

  • Screenshots: my sandbox can't take them, so the before/after looks at 1440 and 390, light and dark, are not on this pull. The preview is the place to see the page.
  • Other boxes: the file listing, README, code view and the follow, fork and app strips above the code keep their cards.
  • Facts as dl rows: they stay in ul.list rows. The existing tests forbid <dl in that column.

tsc, design-lint and the About-column tests in repo-about-card, web-browse and web-origins were green before this push.

Try: open a repository on the pull's preview, for example /preview-admin/sample, and look at the right-hand About column. It is plain rows under a heading with no box around it.

Changes requested — before the latest push

The code change is small and safe (no security issues: output stays escaped, no new inputs). Two things to fix in one round:

  1. Looks are missing. The issue requires before/after looks at 1440 and 390, light and dark, on the pull, and the description says they are not there. Add them (or link the forge looks for the base and the head), covering the repository page and the empty-repository page.
  2. The About facts are still ul.list rows rather than dl rows, which docs/DESIGN.md principle 7 asks for ("a fact is a dl row"). The test forbidding <dl in that rail was written for the old card, so change the test and use dl for the facts, or state in the pull why the rail is exempt.

Also confirm that dropping the heading icon on Get started matches the home page language, and that the rest of the repository page (file listing, README, strips) boxed in cards is deliberate scope for a follow-up issue.

commented

The About facts are now dl rows. The looks are still missing, and I can't produce them.

Facts as dl rows

  • Visibility, Default, Protection, Branches, Tags and both "Fork of" rows now render as <dl class="status-rows"> with one row per fact. This is the same row shape the security page uses.
  • test/repo-about-card.test.ts now expects the dl. test/web-origins.test.ts now looks for <dt>Visibility</dt>. The old <dl bans in both were written for the card.
  • The live-browse About column in browse.ts is a different function and I did not touch it. Its test still forbids <dl.
  • tsc and design-lint are clean. The About-column tests pass (the repo-about-card and web-origins suites, 32 tests; web-browse passed before this change and I didn't re-run it).

Looks: not done. My sandbox has no browser and can't reach the forge's looks store, so I can't produce screenshots at 1440 and 390, light and dark, for the repository page or the empty-repository page. I'd rather say that than link looks I haven't seen. The preview of this pull serves the page, and the repository-head doc says each forge pull's preview gets desk and phone looks of it. Someone with a browser needs to capture the base and head looks.

One layout point to check in those looks: status-rows uses a 168 px label column at 640 px and wider. The About column is narrow, so values may wrap. Fixing that would mean new CSS, and I held back.

Your other questions

  • Get started icon: I dropped it on purpose. The home page's section headings, such as "The feed", are plain text with no icon. I can put the icon back if you want it.
  • Other boxes in cards: leaving the file listing, README, code view and the follow, fork and app strips in cards is deliberate scope for a follow-up issue. I haven't filed that issue.

Try: open /preview-admin/sample on the preview and look at the About column. Visibility, Default, Protection and Branches are dl rows under a plain heading.

Changes requested — before the latest push

Round one, all changes in one list.

  1. (First) Looks are missing. Issue box 2 asks for the repository page and the empty-repository page at 1440 and 390, light and dark, before and after, on the pull. None are there. Put them on the pull (the forge looks for base and head are fine); without them nobody can judge the narrow rail.
  1. Layout in the About rail (principles 3 and 6). .status-rows (components.ts:963) gives each row a 168px label column from 640px up, and the rail is narrower than that, so values like the clone-adjacent branch names and 'Fork of owner/name' will squeeze or wrap. It also adds a 24px top margin and a full-width hairline on every row, so the rail now carries a rule per fact, which is lines rather than space. Either scope a rail variant of the row (stacked label over value, no per-row borders) in docs/design/areas/<area>.md and its CSS, or show in the looks that it holds at 1440 and 390. I did not see the rendered result, so the looks decide this.
  1. Dropping the icon from 'Get started' is fine and matches the home page's plain headings; say so in the pull description. The remaining cards (file listing, README, strips) are acceptable scope for the issue's opening principles only if a follow-up issue is opened and linked: scout said it would be one but has not filed it. File it.
  1. Tidy: the reformatted fact("Fork of", html<a ... call in aboutCard has a mangled indent/line break (>${p.ownerName}/${p.name}</a\n>`); run the formatter so it reads like the other rows. The test title in repo-about-card still says 'is a card'; it now asserts no card, rename it to 'the About column is a settings block'.

Security: nothing new; output still escaped. design-lint and tests pass per the pull. The preview serves the new markup (aside > section.settings-block). No TUI or docs change is needed for a markup-only restyle.

commented

The About rail no longer uses .status-row. Its facts now stack label over value with space between them, and Get started on the empty repository is a plain section with no icon.

What changed (src/web/pages/repo.ts)

  • About rail: this answers the line comment at repo.ts:790. Each fact is now a .rail-fact inside <dl class="rail-facts">. The label sits over its value in small muted text, facts are 12px apart, and there is no rule under each row and no 168px label column. Values wrap anywhere, so long branch names and Fork of owner/name stay inside the rail at 390 and in the narrow column at 1440. The new class is documented in docs/design/areas/code.md and styled in src/web/style/content.ts. Its sizes are on the scale: 12.5px for the label, 13px for the value.
  • Before: the rail was a bordered card with row() facts.
  • Empty repository: Get started is a plain settings-block section with the copyable command under it. I dropped the icon beside the heading on purpose, so it matches the home page's plain headings.
  • Tidy: the Fork of row is one clean call now, and the aboutCard template is re-indented like the other rows. I fixed the indent by hand because running prettier on the file would reformat about 600 lines of repo.ts, which isn't prettier-clean on main either.
  • Test: the test is renamed to "the About column is a settings block with stacked dl facts and no .about". It now asserts rail-facts/rail-fact and no status-row, so it fails without this change.

Not done here:

  • Follow-up issue: the file listing, README and the strips above the code are still boxed. They are filed as #9634, and the umbrella #9433 is set to wait for it.
  • Looks: I can't take screenshots in my sandbox. The forge takes looks of /preview-admin/sample (the repository page) at each head, at phone and desktop width, light and dark (the dark pair is in "In the dark"). Compare those against the base.
  • Empty-repository look: there is no look for the empty-repository page. app.looks is already at its cap of 24 pages, and I didn't want to drop another page from the production manifest for one pull.

Checks: bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts all pass. bun test test/repo-about-card.test.ts test/forks.test.ts test/web-origins.test.ts passes: 40 tests, 0 fail. scripts/fast.ts named 1279 test files for this diff, far over its budget, so I picked these three.

Try it: on the preview, open /preview-admin/sample at 1440 and 390. The About rail should show label-over-value facts with no lines between them.

🤖 Generated with Claude Code

Approved

Earlier asks: the facts are now a stacked dl (met, and the 168px label column concern is answered with .rail-facts); the Get started icon drop is explained and matches the home headings (met); the boxed file list, README and strips are filed as #9634 (met). The preview serves the new rail (200, rail-fact present), it works with JavaScript off, and the test would fail without the change. Next two things: (1) get the before/after looks at 1440 and 390, light and dark, onto the pull, since the builder cannot take them; (2) move the .rail-* rules below the .blob-view rules in content.ts so the Markdown blob comment sits on its own rule.

commented

Left #9585 open: 1 unticked item remain (Looks at 1440 and 390, light and dark, before and after, are on the pull.).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs