Skip to content

016-5: TaskReview Component - Task Approval UI #202

Description

@frankbria

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)

  • Create web-ui/src/components/TaskReview.tsx
  • Hierarchical tree view: Sprint → Issues → Tasks
  • Checkbox for each task to include/exclude
  • Issue-level "select all" checkbox
  • Effort estimate summary (total tasks, estimated hours)
  • "Approve and Start Development" button
  • Call POST /api/projects/:id/tasks/approve on approval
  • Handle loading state during approval
  • Redirect/update UI on successful approval

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

  • Tree view displays all issues and tasks
  • Checkboxes work at task and issue level
  • Excluded tasks are tracked correctly
  • Summary updates dynamically
  • Approval calls API and transitions phase
  • UI updates to show development phase started

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0-blocker-betaCritical blocker - must fix before beta testingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions