import { Editable, EditableInput, EditablePreview, Stack, useEventListener, } from '@chakra-ui/react' import React, { useMemo, useState } from 'react' import { StartBlock } from 'bot-engine' import { StepNode } from './StepNode' import { useTypebot } from 'contexts/TypebotContext' import { useGraph } from 'contexts/GraphContext' type Props = { block: StartBlock } export const StartBlockNode = ({ block }: Props) => { const { previewingIds } = useGraph() const [isMouseDown, setIsMouseDown] = useState(false) const [titleValue, setTitleValue] = useState(block.title) const { updateBlockPosition } = useTypebot() const isPreviewing = useMemo( () => previewingIds.sourceId === block.id, [block.id, previewingIds.sourceId] ) const handleTitleChange = (title: string) => setTitleValue(title) 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 ( ) }