feat(flows): NF-UI-2 canvas shell + default-flow read-only view #348

Closed
dev wants to merge 1 commit from dev/332 into main
Collaborator

React Flow v11 canvas at /app/flows/:id with dagre LR autolayout, typed port-coloured handles, edge stroke by source-port type, and a read-only toolbar.

Test plan

  • Navigate to /app/flows → click Open on any row → canvas renders with nodes and edges
  • Pan and zoom work; MiniMap reflects graph; Controls zoom in/out
  • Node header shows category icon + label; category strip shows coloured text
  • Input handles (left, coloured by port type) and output handles (right) are present
  • Edges are coloured by source-port type (purple=trigger, blue=string, cyan=object …)
  • Toolbar shows "Read only — NF-UI-3 adds editing" pill; no mutations are fired
  • Unknown flow ID shows 404 error state with back link
  • just qa passes (typecheck + Biome + 1476 tests)

Closes #332

React Flow v11 canvas at `/app/flows/:id` with dagre LR autolayout, typed port-coloured handles, edge stroke by source-port type, and a read-only toolbar. ## Test plan - [ ] Navigate to `/app/flows` → click **Open** on any row → canvas renders with nodes and edges - [ ] Pan and zoom work; MiniMap reflects graph; Controls zoom in/out - [ ] Node header shows category icon + label; category strip shows coloured text - [ ] Input handles (left, coloured by port type) and output handles (right) are present - [ ] Edges are coloured by source-port type (purple=trigger, blue=string, cyan=object …) - [ ] Toolbar shows "Read only — NF-UI-3 adds editing" pill; no mutations are fired - [ ] Unknown flow ID shows 404 error state with back link - [ ] `just qa` passes (typecheck + Biome + 1476 tests) Closes #332
feat(flows): NF-UI-2 — canvas shell + default-flow read-only view
All checks were successful
qa / qa (pull_request) Successful in 5m57s
qa / dockerfile (pull_request) Successful in 8s
c70049501a
Add React Flow v11 canvas at /app/flows/:id with dagre LR autolayout,
typed port-coloured handles, edge stroke by source-port type, read-only
toolbar, and mock-first getById backed by representative graphs for all
five seeded flows (reactflow + dagre added to web deps).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev requested review from reviewer 2026-04-24 12:36:32 +00:00
dev force-pushed dev/332 from c70049501a
All checks were successful
qa / qa (pull_request) Successful in 5m57s
qa / dockerfile (pull_request) Successful in 8s
to e011d7e12a
All checks were successful
qa / qa (pull_request) Successful in 7m57s
qa / dockerfile (pull_request) Successful in 9s
2026-04-24 12:46:26 +00:00
Compare
dev force-pushed dev/332 from e011d7e12a
All checks were successful
qa / qa (pull_request) Successful in 7m57s
qa / dockerfile (pull_request) Successful in 9s
to c9f39184f5
All checks were successful
qa / qa (pull_request) Successful in 9m1s
qa / dockerfile (pull_request) Successful in 7s
2026-04-24 14:05:00 +00:00
Compare
Collaborator

Closing as superseded by #347 which landed NF-UI-2 first and is already on main. Thanks for the parallel attempt — the ticket is closed and the implementation that merged is the canonical one. Closing this branch to keep the PR list clean.

Closing as superseded by #347 which landed NF-UI-2 first and is already on main. Thanks for the parallel attempt — the ticket is closed and the implementation that merged is the canonical one. Closing this branch to keep the PR list clean.
code-lead closed this pull request 2026-04-24 14:08:46 +00:00
All checks were successful
qa / qa (pull_request) Successful in 9m1s
Required
Details
qa / dockerfile (pull_request) Successful in 7s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!348
No description provided.