Skip to content

feat: Kanban UX upgrade — richer cards, side panel, configurable columns - #85

Merged
Allann merged 5 commits into
masterfrom
features/kanban-ux-upgrade
May 20, 2026
Merged

feat: Kanban UX upgrade — richer cards, side panel, configurable columns#85
Allann merged 5 commits into
masterfrom
features/kanban-ux-upgrade

Conversation

@Allann

@Allann Allann commented May 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Visual overhaul of the kanban board inspired by the as-notes design: priority chips with semantic colour coding (critical/high/normal/low), column accent top-border colours, assignee initials avatars, tag pills with overflow count, and empty-column drop-zone placeholders
  • Task side panel replaces the inline modal — slides in from the right when a card is clicked, stays visible while browsing the board, auto-focuses the title, shows a live tag pill preview, relative timestamps (created/moved), and disables Save until changes are made
  • Drag-and-drop improvements: columns highlight on drag-over, cards fade/scale while being dragged, dragLeave uses relatedTarget containment to prevent flicker
  • + Add task on every column (previously only Backlog) using a dashed affordance button
  • Done column time-window filter: defaults to last 7 days, cycles through 7 / 14 / 30 / all via a pill button in the column header; hidden task count shown as a "show more" button
  • Configurable columns: add, rename (double-click), and delete columns inline — Backlog and Done are protected; delete is disabled while a column has tasks

Backend changes

  • BoardColumn.Rename() — mutable title
  • Board.AddColumn / RenameColumn / RemoveColumn with protection and validation
  • IBoardService / BoardService — three new async methods
  • API: POST /api/board/columns, PATCH /api/board/columns/{id}, DELETE /api/board/columns/{id}
  • StudioApiClient — three new methods + patchJson helper
  • Protocol — addColumn / renameColumn / deleteColumn message types
  • KanbanPanelProvider — routes the new messages

Test plan

  • Drag cards between columns — drop zone highlights, card fades while dragging
  • Click a card — side panel slides in, Escape closes it, clicking another card switches it
  • Edit task fields — Save enables only after a change; saving clears the "unsaved" label
  • Done column — confirm only last 7 days shown by default; cycle pill through 7d → 14d → 30d → all
  • Add a column via the + header button
  • Double-click a non-protected column title to rename; press Escape to cancel
  • Delete an empty non-protected column; confirm button is disabled when column has tasks
  • Confirm Backlog and Done have no rename or delete controls

🤖 Generated with Claude Code

Allann and others added 5 commits May 19, 2026 17:19
- Priority chips with semantic colour coding (critical/high/normal/low)
- Column accent top-border colours per column
- Drag-over highlight with focus border colour
- Card drag opacity/scale feedback
- Assignee initials avatar circle
- Tag pills with overflow count instead of comma list
- + Add task button on every column (not just backlog)
- Done column day-window filter (7/14/30/all) with hidden count footer
- Edit modal replaced with centred overlay with backdrop dismiss
- Priority field changed to select dropdown
- Empty column drop-zone placeholder
- Auto-focus new task input; Escape to cancel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… faces

- TaskPanel slides in from the right when a card is clicked; Escape closes it
- Board columns flex alongside the panel without any layout jump
- Panel shows title (editable textarea), priority select with left-border colour
  indicator, column, assignee, tags with live pill preview, description, and
  metadata (created/moved relative dates, task ID)
- Save button only enables when there are unsaved changes; "unsaved" label shown
- Card face redesigned: priority chip + assignee avatar in top row, title below,
  description preview (2-line clamp), tag pills + relative date in footer
- Selected card gets a focus-border ring so you always see what the panel shows

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Domain (ai-dev.core):
- BoardColumn.Title is now mutable via Rename()
- Board.AddColumn inserts before Done; rejects duplicates
- Board.RenameColumn blocks Backlog and Done (protected)
- Board.RemoveColumn blocks non-empty columns and protected columns

API (ai-dev.api):
- POST   /api/board/columns           — add a new column
- PATCH  /api/board/columns/{id}      — rename an existing column
- DELETE /api/board/columns/{id}      — remove an empty column

Extension host:
- StudioApiClient: addBoardColumn, renameBoardColumn, removeBoardColumn + patchJson helper
- protocol.ts: addColumn / renameColumn / deleteColumn message types
- KanbanPanelProvider: routes the three new messages to the API

Webview:
- Double-click any non-protected column title to rename inline (Enter/Escape/blur)
- Delete (✕) button on non-protected columns; disabled when column has tasks
- "+" button in board header opens an "Add column" ghost card in the columns grid
- Column slug auto-derived from the title (lowercase, hyphenated)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ding

- Bump version in package.json to 0.1.6.
- Modify KanbanPanelProvider to load agents alongside board data.
- Update send messages to include agents in board data.
- Add loadAgents method to fetch agent summaries.
- Update TaskPanel to allow task assignment to agents.
- Adjust App component to manage and display agents.
- Update protocol to include agents in board message.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Allann
Allann requested a review from auleewilliams May 19, 2026 09:36
@Allann
Allann merged commit cd2367d into master May 20, 2026
1 check passed
@Allann
Allann deleted the features/kanban-ux-upgrade branch May 20, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants