2
0
Files
bot/apps/builder/components/shared/Graph/Endpoints/TargetEndpoint.tsx

37 lines
765 B
TypeScript
Raw Normal View History

2022-01-15 17:30:20 +01:00
import { Box, BoxProps } from '@chakra-ui/react'
import { useGraph } from 'contexts/GraphContext'
import React, { useEffect, useRef } from 'react'
export const TargetEndpoint = ({
2022-06-11 07:27:38 +02:00
blockId,
2022-01-15 17:30:20 +01:00
isVisible,
...props
}: BoxProps & {
2022-06-11 07:27:38 +02:00
blockId: string
2022-01-15 17:30:20 +01:00
isVisible?: boolean
}) => {
const { addTargetEndpoint } = useGraph()
const ref = useRef<HTMLDivElement | null>(null)
useEffect(() => {
if (!ref.current) return
addTargetEndpoint({
2022-06-11 07:27:38 +02:00
id: blockId,
2022-01-15 17:30:20 +01:00
ref,
})
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [ref])
return (
<Box
ref={ref}
boxSize="15px"
rounded="full"
bgColor="blue.500"
cursor="pointer"
visibility={isVisible ? 'visible' : 'hidden'}
{...props}
/>
)
}