Files
kandev/docs/plans/changes-walkthrough-toolbar-width/task-01-panel-responsive-walkthrough.md
2026-08-24 11:09:03 +00:00

85 lines
3.1 KiB
Markdown

---
id: "01-panel-responsive-walkthrough"
title: "Make the Walkthrough action panel-responsive"
status: done
wave: 1
depends_on: []
plan: "plan.md"
spec: "../../specs/ui/requirements/changes-walkthrough-toolbar-width.md"
---
# Task 01: Make the Walkthrough Action Panel-Responsive
## Acceptance
- A 349px Changes panel renders an accessible, fully contained icon-only
Walkthrough action, independent of the viewport width.
- A 350px-or-wider Changes panel renders the complete Walkthrough label without
clipping the action or the branch and Pull controls.
- The Pixel 5 Changes request flow remains usable, contained, and free of
document-level horizontal overflow.
## TDD sequence
1. Add the desktop 349px/350px geometry regression and the mobile containment
assertions, then run the focused command and confirm they fail because the
current label follows viewport width.
2. Add the named panel containers and replace the viewport breakpoint with the
350px container-query boundary.
3. Run the focused desktop and mobile commands until both scenarios pass.
4. Refactor only if the minimal class changes expose duplication or unclear
naming; rerun the focused command after any refactor.
## Files likely touched
- `apps/web/components/task/changes-panel.tsx`
- `apps/web/components/task/mobile/mobile-changes-panel.tsx`
- `apps/web/components/task/changes-panel-header.tsx`
- `apps/web/e2e/tests/review/walkthrough.spec.ts`
- `apps/web/e2e/tests/review/mobile-walkthrough.spec.ts`
- `docs/plans/changes-walkthrough-toolbar-width/plan.md`
- `docs/plans/changes-walkthrough-toolbar-width/task-01-panel-responsive-walkthrough.md`
## Verification
Run from `apps/web`:
```bash
pnpm e2e:run --host --project chromium -- tests/review/walkthrough.spec.ts --grep "adapts the Changes walkthrough label to panel width" --workers=1
pnpm e2e:run --host --no-build --project mobile-chrome -- tests/review/mobile-walkthrough.spec.ts --grep "requests a walkthrough from Changes" --workers=1
```
The managed runner rebuilds the production Vite assets before Playwright runs.
## Dependencies
None.
## Parallelism
`sequential`. The production and E2E changes define one coupled responsive
contract and should be completed through one Red-Green-Refactor cycle.
## Inputs
- Spec scenarios in
`docs/specs/ui/requirements/changes-walkthrough-toolbar-width.md`.
- Frontend and mobile contract in `plan.md`.
- Existing responsive toolbar implementation in
`apps/web/components/task/changes-panel-header.tsx`.
- Existing Dockview resize helper in `apps/web/e2e/helpers/dockview-resize.ts`.
- Existing request flows in the desktop and mobile walkthrough specs.
## Risks
- Apply the named container to the full panel root so the threshold is not
shifted by the header's horizontal padding.
- Do not relax `PanelHeaderBarSplit` overflow or right-slot shrink behavior;
those preserve the branch and Pull actions at narrow widths.
## Output contract
Report the files changed, the observed RED failures, the final focused command
result, any Dockview rounding encountered, remaining risks, and the updated task
and plan statuses in this conversation.