/**
* Copyright (c) 2023-present Plane Software, Inc. and contributors
* SPDX-License-Identifier: AGPL-3.0-only
* See the LICENSE file for details.
*/
import { MoreHorizontal, Bell, BellOff } from "lucide-react";
import { useTranslation } from "@plane/i18n";
import { getIconButtonStyling } from "@plane/propel/icon-button";
import { CheckCircleFilledIcon, CloseCircleFilledIcon, CopyLinkIcon, NewTabIcon } from "@plane/propel/icons";
import { CustomMenu } from "@plane/ui";
type Props = {
canOpenTargetWorkItem: boolean;
canReviewClosedRequest: boolean;
includeDecisionActions?: boolean;
isSubscribed?: boolean;
isSubscriptionLoading?: boolean;
onAccept?: () => void;
onCopy: () => void;
onDecline?: () => void;
onOpenTarget?: () => void;
onToggleSubscription?: () => void;
};
export const ExternalContourActionsMenu = (props: Props) => {
const {
canOpenTargetWorkItem,
canReviewClosedRequest,
includeDecisionActions = false,
isSubscribed,
isSubscriptionLoading = false,
onAccept,
onCopy,
onDecline,
onOpenTarget,
onToggleSubscription,
} = props;
const { t } = useTranslation();
return (
}
customButtonClassName={getIconButtonStyling("secondary", "lg")}
placement="bottom-start"
>
{includeDecisionActions && canReviewClosedRequest && onAccept && (
{t("external_contours_page.actions.accept")}
)}
{includeDecisionActions && canReviewClosedRequest && onDecline && (
{t("external_contours_page.actions.decline")}
)}
{t("external_contours_page.actions.copy")}
{canOpenTargetWorkItem && onOpenTarget && (
{t("external_contours_page.actions.open")}
)}
{canOpenTargetWorkItem && onToggleSubscription && (
{isSubscribed ? : }
{isSubscribed ? t("common.actions.unsubscribe") : t("common.actions.subscribe")}
)}
);
};