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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | 21x 21x | import { Stack } from "@mui/material";
import GiveText from "@shared/Text/GiveText";
import { StyledGiveButton } from "./UnderwritingCard.style";
import NiceModal from "@ebay/nice-modal-react";
import {
APPROVE_MERCHANT_MODAL_REBRAND,
DECLINE_MERCHANT_MODAL_REBRAND,
} from "modals/modal_names";
import { useUnderwriterPermissions } from "features/Permissions/AccessControl/hooks";
import { NEW_ACTION_DENY_MESSAGE } from "@constants/permissions";
import GiveTooltip from "@shared/Tooltip/GiveTooltip";
import useUpdateMerchantStatusWithReason from "@features/Merchants/MerchantSidePanel/ApprovalFlowPanel/hooks/useUpdateMerchantStatusWithReason";
type TChallengeCategoriesBottom = {
isAllCompleted: boolean;
merchantId: number;
merchantName: string;
};
const ChallengeCategoriesBottom = ({
isAllCompleted,
merchantId,
merchantName,
}: TChallengeCategoriesBottom) => {
const { isUpdateUnderwriterAllowed } = useUnderwriterPermissions();
const { onStatusChange: onDecline, isLoading: isLoadingDecline } =
useUpdateMerchantStatusWithReason({
merchantId,
type: "underwriting",
status: "declined",
});
const handleApprove = () => {
NiceModal.show(APPROVE_MERCHANT_MODAL_REBRAND, {
merchantId,
});
};
const handleDecline = () => {
NiceModal.show(DECLINE_MERCHANT_MODAL_REBRAND, {
merchantName,
onHandleDecline: onDecline,
isLoading: isLoadingDecline,
});
};
return (
<>
<GiveText variant="bodyS" color="primary">
All of the above criteria must be met before moving this account to
sponsor.
</GiveText>
<Stack direction="row" gap={1.5}>
<UnderwriterAllowedTooltip>
<StyledGiveButton
disabled={!isAllCompleted || !isUpdateUnderwriterAllowed}
variant="filled"
label="Move To Sponsor"
onClick={handleApprove}
/>
</UnderwriterAllowedTooltip>
<UnderwriterAllowedTooltip>
<StyledGiveButton
disabled={!isUpdateUnderwriterAllowed}
variant="outline"
label="Decline"
color="destructive"
onClick={handleDecline}
/>
</UnderwriterAllowedTooltip>
</Stack>
</>
);
};
const UnderwriterAllowedTooltip = ({
children,
}: {
children: React.ReactElement;
}) => {
const { isUpdateUnderwriterAllowed } = useUnderwriterPermissions();
return (
<GiveTooltip
title={NEW_ACTION_DENY_MESSAGE}
color="default"
disableHoverListener={isUpdateUnderwriterAllowed}
customTooltipStyles={{ width: "fit-content" }}
>
{children}
</GiveTooltip>
);
};
export default ChallengeCategoriesBottom;
|