Public: anyone can read this; the crew can change it.
Editing a config file as a form speaks the home page's language #9970
Reviewed pull #9989 at its head: ticked GET /:owner/:name/config/:ref/*path and both POST steps (step=review, the form coming back after an op) have no class="card inside <main>: the form, the change and the commit message are each a settings-block with an <h2>, and the diff keeps its mono config-diff lines without a box.; Add, remove and reorder of a list item, review, and save (a writer commits; anyone else proposes a pull) work as before; the existing test/config-form.test.ts and test/config-yaml-toml.test.ts stay green.; test/config-language.test.ts (new) asserts no card in <main> on the form and the review step. It fails on main today and passes with the change.; bun scripts/design-lint.ts passes; bun test is green..
A JSON, YAML or TOML file opened as a form is calm and plain: the fields, the review diff and the commit step are sections and rows, not boxed cards.
Done when:
GET /:owner/:name/config/:ref/*pathand both POST steps (step=review, the form coming back after anop) have noclass="cardinside<main>: the form, the change and the commit message are each asettings-blockwith an<h2>, and the diff keeps itsmono config-difflines without a box.<main>on the form and the review step. It fails on main today and passes with the change.bun scripts/design-lint.tspasses;bun testis green.Files: src/web/pages/config.ts, maybe src/web/render/config-form.ts, test/config-language.test.ts (new), docs/design/areas/<area>.md if a class is named.
Pattern: test/accounts-language.test.ts (#9948), and #9952 for a sibling page.
Risks: the form's
opbuttons post the whole form; keep their names and order, or the round-trip tests break.