2.2 KiB
2.2 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-frontend-submenu | Frontend: PR submenu in the + add-panel menu | done | 1 | plan.md | ../../specs/ui/requirements/add-panel-pr-submenu.md |
Task 01: Frontend PR submenu
- Acceptance:
AddPanelMenuItemsrenders linked PRs as a "Pull requests"DropdownMenuSubwhenstate.prs.length > 1; a single PR still renders inline with labelPR #N; zero PRs renders nothing.- Sub-menu rows keep the
add-panel-pr-item-<owner>-<repo>-<number>testids and the disambiguatedPR #N — owner/repolabels; the sub-trigger carriesadd-panel-pr-submenu; selecting a row callsaddPRPanelwithprTaskKey(pr)and the active session id. - New unit tests cover 0 / 1 / 2+ PR cases, submenu open, label assertions, and the click handler.
- Verification:
cd apps && pnpm --filter @kandev/web test -- dockview-add-panel-items.test.tsxcd apps/web && pnpm run typecheckcd apps/web && pnpm run lint -- components/task/dockview-add-panel-items.tsx components/task/dockview-add-panel-items.test.tsx
- Files likely touched:
apps/web/components/task/dockview-add-panel-items.tsxapps/web/components/task/dockview-add-panel-items.test.tsx(new)
- Dependencies: None.
- Parallelism: sequential.
- Inputs:
- Spec
What/Scenarios: docs/specs/ui/requirements/add-panel-pr-submenu.md - Plan Frontend + Tests sections: docs/plans/add-panel-pr-submenu/plan.md
- Existing sub-menu pattern:
apps/web/components/task/handoff-profile-menu-items.tsx(DropdownMenuSub/SubTrigger/SubContentusage) - Test-mocking pattern:
apps/web/components/task/task-pr-shortcut.test.tsx(mocks@/components/state-provider,useTaskPR,useTaskMRs),apps/web/components/task/new-session-dialog.test.tsx(mocks@/components/state-providerwith a full state object) - jsdom submenu-opening pattern:
fireEvent.pointerEnter/pointerMoveperapps/web/components/task-create-dialog-pill.test.tsxandapps/web/components/task/executor-settings-button.test.tsx
- Spec
- Output contract: summary, files changed, exact verification commands with
results, task status →
done, plan checkbox update.