import { ActionIcon, Menu, Tooltip } from "@mantine/core"; import { IconDots, IconEdit, IconTrash, IconCircleCheck, IconCircleCheckFilled } from "@tabler/icons-react"; import { modals } from "@mantine/modals"; import { useTranslation } from "react-i18next"; import { useIsCloudEE } from "@/hooks/use-is-cloud-ee"; type CommentMenuProps = { onEditComment: () => void; onDeleteComment: () => void; onResolveComment?: () => void; canEdit?: boolean; isResolved?: boolean; isParentComment?: boolean; }; function CommentMenu({ onEditComment, onDeleteComment, onResolveComment, canEdit = true, isResolved = false, isParentComment = false }: CommentMenuProps) { const { t } = useTranslation(); const isCloudEE = useIsCloudEE(); //@ts-ignore const openDeleteModal = () => modals.openConfirmModal({ title: t("Are you sure you want to delete this comment?"), centered: true, labels: { confirm: t("Delete"), cancel: t("Cancel") }, confirmProps: { color: "red" }, onConfirm: onDeleteComment, }); return ( {canEdit && ( }> {t("Edit comment")} )} {isParentComment && ( isCloudEE ? ( : } > {isResolved ? t("Re-open comment") : t("Resolve comment")} ) : ( } > {t("Resolve comment")} ) )} } onClick={openDeleteModal} > {t("Delete comment")} ); } export default CommentMenu;