[UX] Establish a design system and component library #364
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the August 2026 session lifecycle review (#319). Follows the mockup selection.
Why
The review found the same concept rendered differently on different pages: attendance implemented four times with different labels for the same toggle, summary editing appearing twice (editable in one place, read-only in the other with no indication that editing lives elsewhere), two full proposal-review UIs that differ in three user-visible ways, and error handling split between inline messages, page-level errors that destroy the rendered content, and native
alert()calls.That is what happens without a shared vocabulary of components. A redesign that does not produce one will drift back to the same state.
What
Extract the chosen direction into tokens and components: type scale, spacing, colour with a genuine dark mode, status and severity treatments, buttons and their hierarchy, form controls, empty states, loading states, error states, badges and counts, cards, modals and confirmations, and the async-progress pattern that v4.3.0 introduces.
Codify the interaction rules the review found violated: an error never destroys already-rendered content; every destructive action explains its consequence (the codebase already does this well in places and should be the model); every async operation shows progress and a next action on failure; disabled controls explain why.
Acceptance criteria