Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import { Button } from "@common/Button";
import { BtnBGTypes } from "@common/Button/Button_V2";
import { FEATURE_DENY_MESSAGE } from "@constants/permissions";
import NiceModal from "@ebay/nice-modal-react";
import { useGetCurrentMerchantId } from "@hooks/common";
import { PREVIEW_INVITATION_MODAL } from "modals/modal_names";
type PreviewInvitationButtonProps = {
title: string;
background?: BtnBGTypes;
isLinkButton?: boolean;
receiverName?: string;
senderName?: string;
receiverPAHName?: string;
senderLogo?: string;
isSendingToProvider: boolean;
isPAHFromMerchantCreation?: boolean;
};
function PreviewInvitationButton({
title,
background = "secondary",
isLinkButton,
receiverName,
senderName,
receiverPAHName,
senderLogo,
isSendingToProvider,
isPAHFromMerchantCreation,
}: PreviewInvitationButtonProps) {
const { selectedUser } = useGetCurrentMerchantId();
const { merchType, userRole } = selectedUser || {};
const isDisabled =
(merchType === "enterprise" || merchType === "provider") &&
userRole === "member";
const handleOnClick = () => {
NiceModal.show(PREVIEW_INVITATION_MODAL, {
receiverName,
senderName,
senderLogo,
isSendingToProvider,
receiverPAHName,
isPAHFromMerchantCreation,
});
};
return (
<Button
data-testid="preview-invitation-button"
tooltipProps={{
show: isDisabled,
message: FEATURE_DENY_MESSAGE,
}}
background={background}
size="medium"
disabled={isDisabled}
sx={(theme) => ({
[theme.breakpoints.down("sm")]: {
flexGrow: 3,
},
...(isLinkButton && {
"&:hover": {
backgroundColor: "transparent",
textDecoration: "underline",
boxShadow: "none",
},
}),
})}
onClick={handleOnClick}
>
{title}
</Button>
);
}
export default PreviewInvitationButton;
|