import type { GraphEdge, GraphNode } from '../ports/types'; function getEdgeTypeLabel(edgeType: GraphEdge['type']): string { switch (edgeType) { case 'blocking': return 'Blocking'; case 'ownership': return 'Ownership'; case 'related': return 'Related'; case 'message': return 'Message'; case 'parent-child': return 'Parent-child'; } } export interface GraphEdgeOverlayProps { edge: GraphEdge; sourceNode: GraphNode | undefined; targetNode: GraphNode | undefined; onClose: () => void; } export function GraphEdgeOverlay({ edge, sourceNode, targetNode, onClose, }: GraphEdgeOverlayProps): React.JSX.Element { return (
{getEdgeTypeLabel(edge.type)}
{sourceNode?.label ?? edge.source} -> {targetNode?.label ?? edge.target}
{edge.label && (
{edge.label}
)}
); }