Shivam311's picture
feat: CodeAtlas Enterprise - IBM Bob Engineering Intelligence Platform
3a7842d
Raw
History Blame Contribute Delete
1.14 kB
import { BaseEdge, EdgeLabelRenderer, getSmoothStepPath } from '@xyflow/react';
const EDGE_COLORS = {
imports: '#94a3b8',
api_call: '#38bdf8',
database: '#10b981',
event: '#f59e0b',
inheritance: '#8b5cf6',
};
export default function CustomEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, markerEnd, label }) {
const [edgePath, labelX, labelY] = getSmoothStepPath({
sourceX,
sourceY,
sourcePosition,
targetX,
targetY,
targetPosition,
borderRadius: 18,
});
const color = EDGE_COLORS[data?.edgeType] || '#64748b';
return (
<>
<BaseEdge id={id} path={edgePath} markerEnd={markerEnd} style={{ stroke: color, strokeWidth: 2 }} />
{label && (
<EdgeLabelRenderer>
<div
className="pointer-events-none absolute max-w-[180px] rounded-md border border-white/10 bg-slate-950/90 px-2 py-1 text-[10px] text-slate-300 shadow-lg"
style={{ transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)` }}
>
{label}
</div>
</EdgeLabelRenderer>
)}
</>
);
}