diff --git a/apps/web/src/pages/editing-planner/hooks/timeline-menus/useContextMenu.ts b/apps/web/src/pages/editing-planner/hooks/timeline-menus/useContextMenu.ts deleted file mode 100755 index 6564354f9..000000000 --- a/apps/web/src/pages/editing-planner/hooks/timeline-menus/useContextMenu.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { useState, useRef, useCallback, useEffect } from "react" - -interface ContextMenuState { - x: number - y: number - clipId: string -} - -interface UseContextMenuOptions { - onClipSplit?: (clipId: string, splitRatio: number) => void - onClipResetTrim?: (clipId: string) => void - onClipRemove?: (clipId: string) => void -} - -export function useContextMenu({ - onClipSplit, - onClipResetTrim, - onClipRemove, -}: UseContextMenuOptions) { - const [contextMenu, setContextMenu] = useState(null) - const contextMenuRef = useRef(null) - - const handleContextMenu = useCallback((e: React.MouseEvent, clipId: string) => { - e.preventDefault() - e.stopPropagation() - setContextMenu({ x: e.clientX, y: e.clientY, clipId }) - }, []) - - const handleContextSplit = useCallback(() => { - if (!contextMenu) return - onClipSplit?.(contextMenu.clipId, 0.5) - setContextMenu(null) - }, [contextMenu, onClipSplit]) - - const handleContextResetTrim = useCallback(() => { - if (!contextMenu) return - onClipResetTrim?.(contextMenu.clipId) - setContextMenu(null) - }, [contextMenu, onClipResetTrim]) - - const handleContextDelete = useCallback(() => { - if (!contextMenu) return - onClipRemove?.(contextMenu.clipId) - setContextMenu(null) - }, [contextMenu, onClipRemove]) - - useEffect(() => { - const handleClickOutside = (e: MouseEvent) => { - if (contextMenuRef.current && !contextMenuRef.current.contains(e.target as Node)) { - setContextMenu(null) - } - } - if (contextMenu) { - document.addEventListener("mousedown", handleClickOutside) - } - return () => document.removeEventListener("mousedown", handleClickOutside) - }, [contextMenu]) - - return { - contextMenu, - setContextMenu, - contextMenuRef, - handleContextMenu, - handleContextSplit, - handleContextResetTrim, - handleContextDelete, - } -}