3.7.4 UI — board switcher + create / rename / delete / set-default
Estimate: 28m · Depends on: 3.7.1, 3.7.3
The multi-board UI on /boards, per design/boards/ (3.7.1). A board switcher in the header (lists the project’s boards from GET /api/boards, active one marked, default badged) that changes the selected board → updates ?board=<id> and re-lays from that board’s projection. New board (modal: name + type Kanban) → POST /api/boards → switch to it. Manage (rename / set-default / delete via the switcher [⋯]) → the 3.7.3 routes; delete shows a confirm and the last-board affordance is disabled. Optimistic where safe; reconciles to the returned DTO. Membership-gated (non-admin sees CRUD affordances hidden/disabled once 6.4 lands; today any member).
Acceptance criteria
- A header board switcher lists the project’s boards (active marked, default badged) and switching updates
?board=<id>+ re-lays the board; New/rename/set-default/delete call the 3.7.3 API and reconcile. - Delete shows a confirm; the last-board delete is disabled with an explanation; colours via
--el-*, shape via element tokens, AA-safe; matches the 3.7.1 design. - Component tests cover the switcher render + select, the create flow, rename/set-default, and the last-board-disabled + delete-confirm.
Context refs
app/(authed)/boards/page.tsx+_components/BoardContainer.tsx(the header + the?boardwiring; mirror the?peekURL pattern from 2.5.19);design/boards/(3.7.1); Story 3.7.3 (the API)