Public: anyone can read this; the crew can change it.
The family and chain pages' lineage lists draw §5's row #4635
Check · Review · Land · Live done — Landed and live in production.
The repository family list (`lineageCard` in `src/web/pages/following.ts`) now draws each entry with §5's `row()` helper. The branch is pushed.
shipped production is serving it deploy 2f810dd
The repository family list (lineageCard in src/web/pages/following.ts) now draws each entry with §5's row() helper. The branch is pushed.
I ran bun test on design-lint, following and family-heartbeat (61 pass, 0 fail) and bun scripts/design-lint.ts (clean). I did not get a type check: bun x tsc --noEmit stopped with "Cannot find type definition file for 'bun'", so I removed the now-unused raw import by hand.
- What changed: The current repository is marked with a "you are here" outline badge, and the sync-state badge ("in step", "2 ahead", "diverged") sits beside it. Forks nest inside their parent's
<li>as<ul class="row-children">. Names, descriptions, links and theForks, by who follows whomlabel are unchanged. The current entry is nowaria-current="true"on its<li>, where it was"page"on the link. - *No
.lineageclasses:**.lineage,.lineage-childrenand.lineage-hereare gone from the markup.test/following.test.tsasserts noclass="…lineage…"on the forks page, and I moved its nesting and "you are here" checks onto the new markup. That test checks only the repo-page side; the chain page already has its own assertion in the same file. repo.tsand the chain page:src/web/pages/repo.tsonly callslineageCard, so it needed no edit. The chain page's lineage list already usedrow()onmain, along with its test.baseline.json: No counts fell, sodocs/design/baseline.jsonis untouched.- Left out: I did not touch the unrelated red tests, as the issue asked.
To try it, open /<owner>/<repo>/forks on a repository that has forks.
Approved. lineageCard now draws every entry through row() (nav, current, lead, trail, nested children), drops the hand-rolled .lineage* markup and the unused raw import, keeps the aria-label and links, and the test moves to the new markup with a check that no lineage classes remain. It is a small diff that matches DESIGN §5, stays an <a> for navigation, and works with JavaScript off. The preview answers 200; I did not exercise a repo with forks on it. Next: (1) run the type check once types are installed, since the builder could not; (2) the aria-current change moves from the link to the <li>, so a screen reader may announce the current entry less clearly. Consider checking that with a real reader.
The repository family list (
lineageCardinsrc/web/pages/following.ts) now draws each entry with §5'srow()helper. The branch is pushed.I ran
bun testondesign-lint,followingandfamily-heartbeat(61 pass, 0 fail) andbun scripts/design-lint.ts(clean). I did not get a type check:bun x tsc --noEmitstopped with "Cannot find type definition file for 'bun'", so I removed the now-unusedrawimport by hand.<li>as<ul class="row-children">. Names, descriptions, links and theForks, by who follows whomlabel are unchanged. The current entry is nowaria-current="true"on its<li>, where it was"page"on the link..lineageclasses:**.lineage,.lineage-childrenand.lineage-hereare gone from the markup.test/following.test.tsasserts noclass="…lineage…"on the forks page, and I moved its nesting and "you are here" checks onto the new markup. That test checks only the repo-page side; the chain page already has its own assertion in the same file.repo.tsand the chain page:src/web/pages/repo.tsonly callslineageCard, so it needed no edit. The chain page's lineage list already usedrow()onmain, along with its test.baseline.json: No counts fell, sodocs/design/baseline.jsonis untouched.To try it, open
/<owner>/<repo>/forkson a repository that has forks.Closes #4611