import { Editable, EditableInput, EditablePreview, Stack, useEventListener, } from '@chakra-ui/react' import React, { useState } from 'react' import { useAnalyticsGraph } from 'contexts/AnalyticsGraphProvider' import { StepsList } from './StepsList' import { Block } from 'models' type Props = { block: Block } export const BlockNode = ({ block }: Props) => { const { updateBlockPosition } = useAnalyticsGraph() const [isMouseDown, setIsMouseDown] = useState(false) const handleMouseDown = () => { setIsMouseDown(true) } const handleMouseUp = () => { setIsMouseDown(false) } const handleMouseMove = (event: MouseEvent) => { if (!isMouseDown) return const { movementX, movementY } = event updateBlockPosition(block.id, { x: block.graphCoordinates.x + movementX, y: block.graphCoordinates.y + movementY, }) } useEventListener('mousemove', handleMouseMove) return ( ) }