Part of #197 - Planning Phase Automation
Scope
This issue creates the TaskReview component where users review and approve the generated task breakdown before development starts.
Tasks
TaskReview Component (~2.5h)
Component structure:
<TaskReview projectId={projectId}>
<TaskTree>
<SprintNode number={1}>
<IssueNode id="1.1" title="User Authentication">
<TaskNode id="1.1.1" title="Create login form" checked />
<TaskNode id="1.1.2" title="Add validation" checked />
<TaskNode id="1.1.3" title="Implement JWT" checked />
</IssueNode>
<IssueNode id="1.2" title="Dashboard">
...
</IssueNode>
</SprintNode>
</TaskTree>
<TaskSummary>
24 tasks selected | ~18 hours estimated
</TaskSummary>
<ApproveButton>
Approve and Start Development
</ApproveButton>
</TaskReview>
UI Mockup
┌─────────────────────────────────────────────────┐
│ 📋 Review Task Breakdown │
├─────────────────────────────────────────────────┤
│ ▼ Sprint 1 │
│ ├─ ☑ 1.1 User Authentication (3 tasks) │
│ │ ├─ ☑ 1.1.1 Create login form │
│ │ ├─ ☑ 1.1.2 Add form validation │
│ │ └─ ☑ 1.1.3 Implement JWT auth │
│ ├─ ☑ 1.2 Dashboard (5 tasks) │
│ │ ├─ ☑ 1.2.1 Create layout component │
│ │ └─ ... │
│ └─ ☐ 1.3 Settings Page (4 tasks) ← excluded │
├─────────────────────────────────────────────────┤
│ ✅ 20 tasks selected | ⏱️ ~15h estimated │
│ │
│ [Approve and Start Development] │
└─────────────────────────────────────────────────┘
Acceptance Criteria
Dependencies
- Requires: 016-2 (task approval endpoint)
Blocks
Files
web-ui/src/components/TaskReview.tsx (new)
web-ui/src/components/TaskTree.tsx (new, optional extraction)
web-ui/__tests__/TaskReview.test.tsx (new)
Effort
~2.5 hours
Part of #197 - Planning Phase Automation
Scope
This issue creates the TaskReview component where users review and approve the generated task breakdown before development starts.
Tasks
TaskReview Component (~2.5h)
web-ui/src/components/TaskReview.tsxPOST /api/projects/:id/tasks/approveon approvalComponent structure:
UI Mockup
Acceptance Criteria
Dependencies
Blocks
Files
web-ui/src/components/TaskReview.tsx(new)web-ui/src/components/TaskTree.tsx(new, optional extraction)web-ui/__tests__/TaskReview.test.tsx(new)Effort
~2.5 hours