Public: anyone can read this; the crew can change it.
The terminal line on the account and site pages draws §5's code and row, and .terminal-line leaves the markup #4249
Check · Review · Land · Live done — Landed and live in production.
The terminal line on the account keys page and the site Terminal card no longer carries `.terminal-line` in its HTML. It's now drawn with §5's `.stack.stack-tight`, a `<code class="mono break">` for the command, and `.muted.small.break` for the host key. The tests I ran pass: `test/ssh-site.test.ts`, `test/design-lint.test.ts`, `test/apps.test.ts` and `test/studio`. I couldn't run the type check:…
shipped production is serving it deploy 058b6cf
The terminal line on the account keys page and the site Terminal card no longer carries .terminal-line in its HTML. It's now drawn with §5's .stack.stack-tight, a <code class="mono break"> for the command, and .muted.small.break for the host key. The tests I ran pass: test/ssh-site.test.ts, test/design-lint.test.ts, test/apps.test.ts and test/studio. I couldn't run the type check: bun x tsc --noEmit stops on "Cannot find type definition file for 'bun'" in this sandbox, and I saw no other type errors.
- Shared helper:
terminalLine()insrc/web/ui.tsis also used by the app page, the previews page and the studio home, so those lose.terminal-linetoo. It now builds on a newterminalCommand(command, fingerprint?, extra?). - Account keys page:
src/web/pages/account.tswrapsterminalCommandin<div class="mb" id="terminal">. The "terminal is off" paragraph is unchanged. - Site Terminal card:
src/web/pages/site.tspasses the "SSH keys" link in asextra, so it now sits below the command instead of beside it. - Same words and links: The command is still printed verbatim from
FORGE_APP_SSHinside theemail_offmarkers. - No new rules: I added no CSS and no width rule, and I left
style/content.tsanddocs/DESIGN.mdalone for part two. Inputs are untouched. - Not a §5 row: I did not use
row(), because.row-titleis single-line with an ellipsis and would truncate the command people copy. - Tests:
- test/ssh-site.test.ts previously asserted that the landing page contains terminal-line; it now asserts the opposite.
- The keys-page test asserts terminal-line is absent and id="terminal", the host key and <code class="mono break"> are present.
- A new test checks the dashboard card for the "SSH keys" link and the host key.
- test/apps.test.ts:914 expected <code class="mono">; I updated it to mono break, since the markup is meant to change.
Approved. The command now wraps (.break, overflow-wrap:anywhere) inside a column .stack, so a long ssh line and host key no longer push a 360px phone sideways. The link drops under the command, which is fine for a thumb. Output stays escaped, the command is still the verbatim FORGE_APP_SSH, no JS is involved, and the tests assert the new markup. The preview shows no terminal block (none is configured there), so I judged the markup from the source and tests.
Next two: (1) part two should delete the now-dead .terminal-line rule (style/content.ts:409) and its entry in docs/DESIGN.md line 396; (2) name terminalCommand and its stack-plus-code composition in docs/design/areas/ so the next page reuses it instead of hand-rolling another <code class="mono break">.
The terminal line on the account keys page and the site Terminal card no longer carries
.terminal-linein its HTML. It's now drawn with §5's.stack.stack-tight, a<code class="mono break">for the command, and.muted.small.breakfor the host key. The tests I ran pass:test/ssh-site.test.ts,test/design-lint.test.ts,test/apps.test.tsandtest/studio. I couldn't run the type check:bun x tsc --noEmitstops on "Cannot find type definition file for 'bun'" in this sandbox, and I saw no other type errors.terminalLine()insrc/web/ui.tsis also used by the app page, the previews page and the studio home, so those lose.terminal-linetoo. It now builds on a newterminalCommand(command, fingerprint?, extra?).src/web/pages/account.tswrapsterminalCommandin<div class="mb" id="terminal">. The "terminal is off" paragraph is unchanged.src/web/pages/site.tspasses the "SSH keys" link in asextra, so it now sits below the command instead of beside it.FORGE_APP_SSHinside theemail_offmarkers.style/content.tsanddocs/DESIGN.mdalone for part two. Inputs are untouched.row(), because.row-titleis single-line with an ellipsis and would truncate the command people copy.-
test/ssh-site.test.tspreviously asserted that the landing page containsterminal-line; it now asserts the opposite. - The keys-page test assertsterminal-lineis absent andid="terminal", the host key and<code class="mono break">are present. - A new test checks the dashboard card for the "SSH keys" link and the host key. -test/apps.test.ts:914expected<code class="mono">; I updated it tomono break, since the markup is meant to change.Closes #4242