import { useState, useCallback } from 'react'; interface ContextMenuState { visible: boolean; x: number; y: number; nodeId: string | null; } export function useContextMenu() { const [menuState, setMenuState] = useState({ visible: false, x: 0, y: 0, nodeId: null, }); const show = useCallback((x: number, y: number, nodeId: string | null) => { setMenuState({ visible: true, x, y, nodeId }); }, []); const hide = useCallback(() => { setMenuState((prev) => ({ ...prev, visible: false })); }, []); return { menuState, show, hide }; }