refactor: split Kanban board controller from rendering #391

Merged
barrettruth merged 1 commit from issue-368-kanban-controller into main 2026-05-12 13:44:51 +00:00
Owner

Problem

KanbanBoard still owned grouping, cursor/search/drag state, keyboard handling, selection, and card rendering in one large client component.

Solution

  • Move grouping, visible-column, and selection-range helpers into src/lib/kanban-board.ts with focused tests.
  • Extract useKanbanBoardController for keyboard, cursor, persisted search, drag/drop, status-bar, and task-panel state.
  • Split the compact board renderer into grid, column, and card components while preserving the existing classes and task operation calls.

Verification

  • nix develop --command pnpm exec vitest run tests/lib/kanban-board.test.ts tests/lib/task-search.test.ts tests/lib/task-search-bar.test.ts tests/lib/keymap-defs.test.ts tests/lib/keyboard.test.ts --reporter=verbose
  • nix develop --command just lint
  • nix develop --command just test
  • nix develop --command just build

Closes #368

## Problem KanbanBoard still owned grouping, cursor/search/drag state, keyboard handling, selection, and card rendering in one large client component. ## Solution - Move grouping, visible-column, and selection-range helpers into `src/lib/kanban-board.ts` with focused tests. - Extract `useKanbanBoardController` for keyboard, cursor, persisted search, drag/drop, status-bar, and task-panel state. - Split the compact board renderer into grid, column, and card components while preserving the existing classes and task operation calls. ## Verification - `nix develop --command pnpm exec vitest run tests/lib/kanban-board.test.ts tests/lib/task-search.test.ts tests/lib/task-search-bar.test.ts tests/lib/keymap-defs.test.ts tests/lib/keyboard.test.ts --reporter=verbose` - `nix develop --command just lint` - `nix develop --command just test` - `nix develop --command just build` Closes #368
refactor kanban board controller
All checks were successful
quality / Test (pull_request) Successful in 17s
quality / Lint (pull_request) Successful in 22s
quality / Build (pull_request) Successful in 43s
8bed128e17
barrettruth deleted branch issue-368-kanban-controller 2026-05-12 13:44:51 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta!391
No description provided.