import React from 'react'; import { Layer } from 'recharts'; interface CustomLinkProps { hoveredLinks: string[]; activeLinks: string[]; payload: any; sourceX: number; targetX: number; sourceY: number; targetY: number; sourceControlX: number; targetControlX: number; linkWidth: number; index: number; activeLink: any; onClick?: (payload: any) => void; onMouseEnter?: () => void; onMouseLeave?: () => void; strokeOpacity?: number; } const CustomLink: React.FC = (props) => { const [fill, setFill] = React.useState('url(#linkGradient)'); const { hoveredLinks, activeLinks, payload, sourceX, targetX, sourceY, targetY, sourceControlX, targetControlX, linkWidth, index, activeLink } = props; const isActive = activeLinks?.length > 0 && activeLinks.includes(payload.id); const isHover = hoveredLinks?.length > 0 && hoveredLinks.includes(payload.id); const onClick = () => { if (props.onClick) { props.onClick(props.payload); } }; return ( { setFill('rgba(57, 78, 255, 0.5)'); }} onMouseLeave={() => { setFill('url(#linkGradient)'); }} /> ); }; export default CustomLink;