import * as React from 'react'; import classNames from 'classnames'; import { FormattedMessage } from 'react-intl'; import DropdownMenu from '../../../../components/dropdown-menu'; import Checkmark16 from '../../../../icon/fill/Checkmark16'; import IconEllipsis from '../../../../icons/general/IconEllipsis'; import Pencil16 from '../../../../icon/line/Pencil16'; import PlainButton from '../../../../components/plain-button'; import Trash16 from '../../../../icon/line/Trash16'; import X16 from '../../../../icon/fill/X16'; import { Menu, MenuItem } from '../../../../components/menu'; import { ACTIVITY_TARGETS } from '../../../common/interactionTargets'; import { COMMENT_STATUS_OPEN, COMMENT_STATUS_RESOLVED } from '../../../../constants'; import { bdlGray50 } from '../../../../styles/variables'; import type { FeedItemStatus } from '../../../../common/types/feed'; import messages from './messages'; import './AnnotationActivityMenu.scss'; type AnnotationActivityMenuProps = { canDelete?: boolean, canEdit?: boolean, canResolve?: boolean, className?: string, id: string, isDisabled?: boolean, onDelete: () => void, onEdit: () => void, onMenuClose: () => void, onMenuOpen: () => void, onStatusChange: (newStatus: FeedItemStatus) => void, status?: FeedItemStatus, }; const AnnotationActivityMenu = ({ canDelete, canEdit, canResolve, className, id, isDisabled, onDelete, onEdit, onMenuClose, onMenuOpen, onStatusChange, status, }: AnnotationActivityMenuProps) => { const menuProps = { 'data-resin-component': 'preview', 'data-resin-feature': 'annotations', }; const isResolved = status === COMMENT_STATUS_RESOLVED; return ( {canResolve && isResolved && ( onStatusChange(COMMENT_STATUS_OPEN)} > )} {canResolve && !isResolved && ( onStatusChange(COMMENT_STATUS_RESOLVED)} > )} {canEdit && ( )} {canDelete && ( )} ); }; export default AnnotationActivityMenu;