diff options
Diffstat (limited to 'FrontEnd/src/views/common/menu/Menu.tsx')
-rw-r--r-- | FrontEnd/src/views/common/menu/Menu.tsx | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/FrontEnd/src/views/common/menu/Menu.tsx b/FrontEnd/src/views/common/menu/Menu.tsx deleted file mode 100644 index e8099c76..00000000 --- a/FrontEnd/src/views/common/menu/Menu.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { CSSProperties } from "react"; -import classNames from "classnames"; - -import { useC, Text, ThemeColor } from "../common"; - -import "./Menu.css"; -import Icon from "../Icon"; - -export type MenuItem = - | { - type: "divider"; - } - | { - type: "button"; - text: Text; - icon?: string; - color?: ThemeColor; - onClick: () => void; - }; - -export type MenuItems = MenuItem[]; - -export type MenuProps = { - items: MenuItems; - onItemClicked?: () => void; - className?: string; - style?: CSSProperties; -}; - -export default function Menu({ - items, - onItemClicked, - className, - style, -}: MenuProps) { - const c = useC(); - - return ( - <div className={classNames("cru-menu", className)} style={style}> - {items.map((item, index) => { - if (item.type === "divider") { - return <hr key={index} className="cru-menu-divider" />; - } else { - const { text, color, icon, onClick } = item; - return ( - <button - key={index} - className={`cru-menu-item cru-clickable-${color ?? "primary"}`} - onClick={() => { - onClick(); - onItemClicked?.(); - }} - > - {icon != null && <Icon color={color} icon={icon} />} - {c(text)} - </button> - ); - } - })} - </div> - ); -} |