import React from "react"; type ContextMenuProps = { visibility: { rename: boolean; focus: boolean; flipX: boolean; flipZ: boolean; move: boolean; rotate: boolean; duplicate: boolean; copy: boolean; paste: boolean; modifier: boolean; group: boolean; array: boolean; delete: boolean; }; onRename: () => void; onFocus: () => void; onFlipX: () => void; onFlipZ: () => void; onMove: () => void; onRotate: () => void; onDuplicate: () => void; onCopy: () => void; onPaste: () => void; onGroup: () => void; onArray: () => void; onDelete: () => void; }; const ContextMenu: React.FC = ({ visibility, onRename, onFocus, onFlipX, onFlipZ, onMove, onRotate, onDuplicate, onCopy, onPaste, onGroup, onArray, onDelete, }) => { const styles: { [key: string]: React.CSSProperties } = { contextMenu: { position: "absolute", top: 0, left: 0, backgroundColor: "#2c2c2c", borderRadius: "6px", padding: "8px", color: "white", fontFamily: "sans-serif", fontSize: "14px", boxShadow: "0 0 8px rgba(0,0,0,0.4)", zIndex: 1000, }, menuItem: { margin: "4px 0", }, button: { background: "none", border: "none", color: "inherit", display: "flex", justifyContent: "space-between", width: "180px", padding: "4px 8px", cursor: "pointer", }, submenu: { marginLeft: "10px", marginTop: "4px", backgroundColor: "#3a3a3a", borderRadius: "4px", padding: "4px", }, shortcut: { opacity: 0.6, }, }; return (
{visibility.rename && (
)} {visibility.focus && (
)} {visibility.flipX && (
)} {visibility.flipZ && (
)} {(visibility.move || visibility.rotate) && (
{visibility.move && (
)} {visibility.rotate && (
)}
)} {visibility.duplicate && (
)} {visibility.copy && (
)} {visibility.paste && (
)} {visibility.modifier && (
)} {(visibility.group || visibility.array) && (
{visibility.group && (
)} {visibility.array && (
)}
)} {visibility.delete && (
)}
); }; export default ContextMenu;