Project · Issues and boards: a board, issue cards, a task's panel, labels

KanbanBoard lays columns of cards side by side. A card drags to a
place in any column: it rides raised at the pointer, a slot opens where
it would land, the other cards glide aside on motion::Flip, and the
drop asks the owner through on_move(card, column, index); a drop in its
own place asks nothing. Option with an arrow moves the focused card,
whose focus the board keys by card so it follows it across columns. A
press, Enter or Space opens it. Sprint Board is this board.

IssueCard shows an issue's status, name, assignee, title, priority,
labels and due day. TaskDetailPanel lays a task out in full: its title
edits in place, its status, priority, assignee and due day change where
they stand, and its notes and steps follow; each edit hands the whole
task on, and a blank title is not taken. LabelManager tends a team's
labels: a hue picked from a popover, a name edited in place, a delete,
and a field that makes a new one; names stay unique in any case, and a
refused name says why.

The fill rule changes: min_w_full, taken up in T30d, resolves against
a block's outer width in taffy 0.9, so a field in a padded card ran
past its padding. A component that fills now takes no width on its
root, which blocks and flex columns stretch; FormField and the new
roots do. The chart's hue names move to theme::HUE_NAMES, which the
event editor and the label manager share.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 05:12:20 -04:00
1 parent 9b506e5d54
commit 62382f7e68
24 files changed
+1813 -31

No files matched your search

+3 -2
View File
@@ -111,7 +111,7 @@ Per-component lines live in `tasks/`. Tags there:
- [x] T30b Calendar · Time grid
- [x] T30c Calendar · Agenda and people
- [x] T30d Calendar · Editing
- [ ] T31a Project · Tasks — `tasks/ch31-43.md`
- [x] T31a Project · Tasks — `tasks/ch31-43.md`
- [ ] T31b Project · Issues and boards
- [ ] T31c Project · Plans
- [ ] T31d Project · Time and databases
@@ -127,7 +127,7 @@ Per-component lines live in `tasks/`. Tags there:
- [ ] T41 Maps
- [ ] T42 Misc
- [ ] T43 Library Tooling
- [ ] T44 Capture: every component, light and dark, plus motion clips; roots still on `w_full` move to `min_w_full`, checked at 280px
- [ ] T44 Capture: every component, light and dark, plus motion clips; roots still on `w_full` drop it, checked at 280px and in padded cards
- [ ] T45 Website: `frontend/`, Vite 8, pnpm, light and dark, motion
- [ ] T46 E2E: Playwright against the built site
- [ ] T47 Ship: GitHub repo (public), CI, Pages deploy
@@ -363,3 +363,4 @@ Per-component lines live in `tasks/`. Tags there:
| T30c | 1 | PASS | |
| T30d | 1 | FAIL | a chosen day outlived the owner's days, and the next render panicked |
| T30d | 2 | PASS | |
| T31a | 1 | PASS | |