4.3 KiB
4.3 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | ||
|---|---|---|---|---|---|---|---|---|
| 16-board-ui | Editable desktop and mobile board | done | 9 |
|
plan.md | ../../specs/integrations/requirements/azure-devops-integration.md |
Task 16: Editable Desktop And Mobile Board
Acceptance
/azure-devopsopens in Board mode, initializes project → team → board using the spec defaults, resets invalid dependent selections, and renders column counts/limits plus core card fields from one shared board view model.- Fine-pointer desktop uses an internally scrolling multi-column board with optimistic drag/move and rollback; wider card editing exposes title, assignee, tags, split done state, and the Azure link.
- Phone composition shows one focused column with previous/next controls and a bottom-drawer hierarchy navigator. A full-height, safe-area-aware editor provides the same fields and an explicit move control without document horizontal overflow or a touch-drag requirement.
Verification
rtk pnpm --filter @kandev/web test -- --run lib/api/domains/azure-devops-api.test.ts hooks/domains/azure-devops/use-azure-devops-board.test.tsx components/azure-devops/azure-devops-board-model.test.tsfromapps.rtk pnpm --filter @kandev/web typecheckfromapps.rtk pnpm --filter @kandev/web lintfromapps.
Files Likely Touched
apps/web/lib/types/azure-devops.tsapps/web/lib/api/domains/azure-devops-api.tsapps/web/lib/api/domains/azure-devops-api.test.tsapps/web/hooks/domains/azure-devops/use-azure-devops-board.tsapps/web/hooks/domains/azure-devops/use-azure-devops-board.test.tsxapps/web/app/azure-devops/azure-devops-page-client.tsxapps/web/components/azure-devops/azure-devops-board.tsxapps/web/components/azure-devops/azure-devops-board-model.tsapps/web/components/azure-devops/azure-devops-board-model.test.tsapps/web/components/azure-devops/azure-devops-board-navigator.tsxapps/web/components/azure-devops/azure-devops-board-card.tsxapps/web/components/azure-devops/azure-devops-board-item-editor.tsx
Dependencies
Tasks 14-15.
Parallelism
Sequential. The page, hooks, components, and API types share the same view model and mutation state.
Inputs
- Spec sections: What (Board mode), API Surface, Failure Modes, Scenarios.
- Required workflows:
.agents/skills/tdd/SKILL.md,.agents/skills/mobile-parity/SKILL.md, and.agents/skills/e2e/SKILL.md. - Mobile exemplar:
apps/web/components/kanban/mobile-column-tabs.tsxfor focused-column previous/next navigation and the hierarchy drawer. - Desktop exemplars:
apps/web/components/kanban/adaptive-desktop-kanban.tsxfor contained horizontal scrolling andapps/web/components/kanban/swimlane-kanban-content.tsxfor optimistic DnD rollback.
Mobile Design Contract
- Desktop outcome: view every Azure column, drag cards between columns, and
edit core fields without leaving
/azure-devops. - Mobile entry point and hierarchy: Board mode opens one focused column; the center navigator shows project/team/board/column context, while previous and next controls move one column at a time.
- Presentation: an inset bottom drawer owns temporary hierarchy selection; a
full-height editor owns dense card editing. The board column is the only
vertical scroll owner, and the editor uses
100dvh, internal scrolling, and bottom safe-area clearance. - Shared logic: project/team/board selection, grouping, edits, move state, conflict refresh, and errors stay in shared hooks/view-model code. Only composition and the desktop drag affordance differ by viewport/pointer.
- Touch targets are at least 44px, every required action is visible or in an explicit menu/drawer, and mobile selection never overwrites a persisted desktop preference.
Risks
azure-devops-page-client.tsxis already near the frontend file-size limit; keep board state/composition in extracted modules rather than growing the page.- A drag result is provisional until Azure returns the updated revision. Rollback must not overwrite a newer successful refresh or edit.
Output Contract
Report responsive compositions, shared-state boundaries, files changed, RED/GREEN commands, targeted checks, visual verification status, blockers and risks, then set this task and its plan checkbox to done.