import React, { useEffect } from "react"; import { FiFile, FiFolder, FiEdit3, FiTrash2 } from "react-icons/fi"; const MenuItem: React.FC<{ onClick: () => void; danger?: boolean; children: React.ReactNode; }> = ({ onClick, danger, children }) => (
{ e.currentTarget.style.backgroundColor = "#2a2d2e"; }} onMouseLeave={(e) => { e.currentTarget.style.backgroundColor = "transparent"; }} > {children}
); interface ContextMenuProps { x: number; y: number; onClose: () => void; onNewFile: () => void; onNewFolder: () => void; onRename: () => void; onDelete: () => void; hasNode: boolean; } export const ContextMenu: React.FC = ({ x, y, onClose, onNewFile, onNewFolder, onRename, onDelete, hasNode, }) => { useEffect(() => { const handleClick = () => onClose(); document.addEventListener("click", handleClick); return () => document.removeEventListener("click", handleClick); }, [onClose]); return (
New File New Folder {hasNode && ( <>
Rename Delete )}
); };