import { useCallback } from 'react';

export const useNodeHandlers = (debouncedSetNodePositions) => {
    const onNodeDrag = useCallback((event, node) => {
        // Фиксируем позицию сразу при перемещении
        node.position = {
            x: Math.round(node.position.x),
            y: Math.round(node.position.y)
        };
    }, []);

    const onNodeDragStop = useCallback((event, node) => {
        node.position = {
            x: Math.round(node.position.x),
            y: Math.round(node.position.y)
        };
        debouncedSetNodePositions(prev => ({
            ...prev,
            [node.id]: node.position
        }));
    }, [debouncedSetNodePositions]);

    return { onNodeDrag, onNodeDragStop };
};