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

The new-organization page and a team's page speak the home page's language #9763

shipped production is serving it opened this has it
opened this

For: a forge for a client or an org starts at /organizations/new and is run through its teams (/:owner/-/teams/:team); neither has had the design pass.

Done looks like:

  • [x] The new-organization page and a team's page (src/web/pages/org.ts) follows the opening principles of docs/DESIGN.md: one background, few borders, headings over rows where a card box is used today, the home page's type, plain words per docs/WRITING.md.
  • [x] Any new component class is named in docs/design/areas/settings.md (or a new org.md), never docs/DESIGN.md.
  • [x] A test renders the page and asserts the rows-not-boxes shape, and fails on the current markup.
  • [x] Nothing is lost: creating an organization, adding and removing a team member, and the last-owner refusal (test/org-last-owner.test.ts) all still work. Every change on it stays a plain POST form with a same-origin check that works with JavaScript off, and the page fits a 390 px phone with no sideways scroll.
  • [x] bun scripts/design-lint.ts passes, and so do test/org*.test.ts and test/teams-timing.test.ts; the warm page costs no more statements than they allow today.

Files: src/web/pages/org.ts, its area doc, and a test. Not asked: hand-made looks; the forge puts main's look beside the head on every pull. Risks: membership changes need write permission and a same-origin check; keep both while restyling.

commented

Reviewed pull #9834 at its head: ticked The new-organization page and a team's page (src/web/pages/org.ts) follows the opening principles of docs/DESIGN.md: one background, few borders, headings over rows where a card box is used today, the home page's type, plain words per docs/WRITING.md.; Any new component class is named in docs/design/areas/settings.md (or a new org.md), never docs/DESIGN.md.; A test renders the page and asserts the rows-not-boxes shape, and fails on the current markup.; Nothing is lost: creating an organization, adding and removing a team member, and the last-owner refusal (test/org-last-owner.test.ts) all still work. Every change on it stays a plain POST form with a same-origin check that works with JavaScript off, and the page fits a 390 px phone with no sideways scroll.; bun scripts/design-lint.ts passes, and so do test/org*.test.ts and test/teams-timing.test.ts; the warm page costs no more statements than they allow today..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs