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

The all-flows list is keyboard-first: j/k move between rows, enter opens one #10641

Merged opened this

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

Merged

The all-flows page now joins the shell's j/k row traversal. Every linked row carries `nav: true`, so j/k move between rows and enter opens one. Locally the gate, `tsc`, `test/keys-flows.test.ts` and `test/unreached.test.ts` pass, and `bun scripts/design-lint.ts` was clean before the final merge (I didn't re-run it afterwards). I haven't seen the forge's check on this push.

shipped production is serving it deploy 6b2678b

opened this

The all-flows page now joins the shell's j/k row traversal. Every linked row carries nav: true, so j/k move between rows and enter opens one. Locally the gate, tsc, test/keys-flows.test.ts and test/unreached.test.ts pass, and bun scripts/design-lint.ts was clean before the final merge (I didn't re-run it afterwards). I haven't seen the forge's check on this push.

  • Change: src/web/pages/flows-all.ts adds nav: true to the row({...}) call, which is the only place that page builds rows. Every row there links via href, so none is left without a link.
  • Test: test/keys-flows.test.ts seeds flows and asserts one data-nav per linked row and none on the empty page. It fails without the change.
  • Why the check was red before: the earlier attempts deleted the src/kernel/why_now.ts line from scripts/unreached-allow.json, which then conflicted with main. I merged origin/main again and took main's version of that file, so this pull no longer touches it.
  • Left out: nothing beyond the issue's scope. Rows without a link and the empty page get no nav, as the issue asked.

To try it, sign in as an admin, open /admin/flows, press j and k to move between rows, then enter to open one.

🤖 Generated with Claude Code

Closes #10407

commented

The all-flows page now joins the shell's j/k row traversal. Every linked row carries nav: true, so j/k move between rows and enter opens one. Locally the gate, tsc, test/keys-flows.test.ts and test/unreached.test.ts pass, and bun scripts/design-lint.ts was clean before the final merge (I didn't re-run it afterwards). I haven't seen the forge's check on this push.

  • Change: src/web/pages/flows-all.ts adds nav: true to the row({...}) call, which is the only place that page builds rows. Every row there links via href, so none is left without a link.
  • Test: test/keys-flows.test.ts seeds flows and asserts one data-nav per linked row and none on the empty page. It fails without the change.
  • Why the check was red before: the earlier attempts deleted the src/kernel/why_now.ts line from scripts/unreached-allow.json, which then conflicted with main. I merged origin/main again and took main's version of that file, so this pull no longer touches it.
  • Left out: nothing beyond the issue's scope. Rows without a link and the empty page get no nav, as the issue asked.

To try it, sign in as an admin, open /admin/flows, press j and k to move between rows, then enter to open one.

🤖 Generated with Claude Code

Approved

One line adds nav: true to the only row() call on /admin/flows, matching how other lists join j/k traversal. The test seeds three linked rows and asserts three data-nav rows, each with its repo flows link first, and none on the empty page. The preview answers 404 to my token because the page is admin-only, so I could not see it working there; I judged it from the source and the test. Next, I would: 1) re-run bun scripts/design-lint.ts, since the builder says it was not re-run after the merge; 2) add a one-line mention of j/k in docs/features if a keyboard doc lists the pages that support it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs