import React, { type FC, useCallback } from 'react' import { RiMoreFill } from '@remixicon/react' import { VersionHistoryContextMenuOptions } from '../../../types' import MenuItem from './menu-item' import useContextMenu from './use-context-menu' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger, } from '@/app/components/base/portal-to-follow-elem' import Button from '@/app/components/base/button' import Divider from '@/app/components/base/divider' export type ContextMenuProps = { isShowDelete: boolean isNamedVersion: boolean open: boolean setOpen: React.Dispatch> handleClickMenuItem: (operation: VersionHistoryContextMenuOptions) => void } const ContextMenu: FC = (props: ContextMenuProps) => { const { isShowDelete, handleClickMenuItem, open, setOpen } = props const { deleteOperation, options, } = useContextMenu(props) const handleClickTrigger = useCallback((e: React.MouseEvent) => { e.stopPropagation() setOpen(v => !v) }, [setOpen]) return (
{ options.map((option) => { return ( ) }) }
{ isShowDelete && ( <>
) }
) } export default React.memo(ContextMenu)