40 lines
1015 B
TypeScript
40 lines
1015 B
TypeScript
|
|
import { LuMenu } from 'react-icons/lu';
|
|
|
|
|
|
export type MenuElement = {
|
|
name: string;
|
|
onClick: () => void;
|
|
};
|
|
|
|
export type ContextMenuProps = {
|
|
elements?: MenuElement[];
|
|
};
|
|
|
|
export const ContextMenu = ({ elements }: ContextMenuProps) => {
|
|
// if (!elements) {
|
|
return <></>;
|
|
// }
|
|
// return (
|
|
// <Menu.Root
|
|
// data-testid="context-menu">
|
|
// <Menu.Trigger asChild
|
|
// data-testid="context-menu_trigger">
|
|
// {/* This is very stupid, we need to set as span to prevent a button in button... WTF */}
|
|
// <Button {...THEME.Button.primary} >
|
|
// <LuMenu />
|
|
// </Button>
|
|
// </Menu.Trigger>
|
|
// <Menu.Content
|
|
// data-testid="context-menu_content">
|
|
// {elements?.map((data) => (
|
|
// <Menu.Item key={data.name} value={data.name} onClick={data.onClick}
|
|
// data-testid="context-menu_item">
|
|
// {data.name}
|
|
// </Menu.Item>
|
|
// ))}
|
|
// </Menu.Content>
|
|
// </Menu.Root >
|
|
//);
|
|
};
|