diff --git a/DESIGN.md b/DESIGN.md index 7406011..9add11c 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -140,6 +140,19 @@ Spacing follows Tailwind's 4px scale. Existing frontend stacks use `gap-1`, `gap - **Layout**: the transfer list is a single document scroll region inside the authenticated shell; cards use an intrinsic one-column-to-two-column grid and remain readable at narrow widths. +### Helpdesk ticket controls + +- **Structure**: ticket list and detail surfaces use the existing `Item`, `Badge`, `Button`, and + `Dialog` primitives. The author-only edit dialog contains labeled title, category, priority, and + description controls; vote state uses one `Button` with a visible count. +- **States**: edit controls expose default, pending, success, and error states. Vote controls expose + unvoted, voted (`aria-pressed`), pending, and disabled states; canceled tickets disable voting. +- **Accessibility**: edit dialogs have a title and description, every field has an associated label, + and vote buttons announce both the action and count without relying on iconography. +- **Motion**: use existing shadcn dialog and button transitions only. +- **Layout**: controls wrap on narrow screens and never turn a card-wide navigation link into a + nested interactive target. + ## 6. Motion & Interaction ### Timing