beadboard/src
zenchantlive 9660b516a8 feat(graph): complete bb-ui2.19 - Extract Graph into Reusable Component
STORY:
The existing ReactFlow dependency graph lived in the /graph page, but
the Unified UX needs it as a reusable component for the graph tab.

COLLABORATION:
Extracted the core ReactFlow visualization into WorkflowGraph component:

Interface:
- beads: BeadIssue[] to render as nodes
- selectedId?: currently selected bead
- onSelect?: selection callback
- className?: styling override
- hideClosed?: filter closed beads

Features preserved:
- Dagre layout for automatic positioning
- Edge rendering with BLOCKS labels
- fitView() on mount via useReactFlow
- Existing styling and hover states

The original /graph page can now use this component or serve as reference.

DELIVERABLES:
- src/components/shared/workflow-graph.tsx

VERIFICATION:
- npm run typecheck: PASS
- npm run lint: PASS
- npm run test: PASS

CLOSES: bb-ui2.19
BLOCKS: bb-ui2.20
2026-02-15 21:18:31 -08:00
..
app feat(design): complete bb-ui2.1 - Earthy-Dark Token System 2026-02-15 21:16:48 -08:00
components feat(graph): complete bb-ui2.19 - Extract Graph into Reusable Component 2026-02-15 21:18:31 -08:00
hooks feat(hooks): complete bb-ui2.4 - URL State Hook 2026-02-15 21:17:30 -08:00
lib feat(data): complete bb-ui2.15 - Swarm Cards Data Builder 2026-02-15 21:18:13 -08:00