All files / src/features/MerchantPortal/DeveloperApi/modals ApiKeyProcessingIssueModal.tsx

0% Statements 0/11
0% Branches 0/6
0% Functions 0/2
0% Lines 0/11

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                                                                                                                                                 
import useNiceModal from "@common/Modal/ModalFactory/hooks/useNiceModal";
import NiceModal from "@ebay/nice-modal-react";
import { PageHash } from "@pages/Welcome/WelcomePage";
import GivePopup from "@shared/Popup/GivePopup";
import { useCustomThemeV2 } from "@theme/hooks/useCustomThemeV2";
import { useNavigate } from "react-router-dom";
const defaultTitle = "API Key Generation Temporarily Disabled";
const defaultDescription =
  "To generate an API key, you need to complete your Primary Account Holder first. Missing or incomplete details prevent API key creation.";
const goBackText = "Go to Onboarding";
 
type Props = {
  title?: string;
  description?: string;
};
 
const ApiKeyProcessingIssueModal = NiceModal.create(
  ({ title, description }: Props) => {
    const { open, onClose } = useNiceModal();
    const { isMobileView } = useCustomThemeV2();
    const navigate = useNavigate();
 
    const handleNavigate = async () => {
      navigate(`/merchant/welcome${PageHash.ONBOARDING}`, {
        state: {
          section: "profile",
        },
      });
      onClose();
    };
 
    return (
      <GivePopup
        open={open}
        description={description || defaultDescription}
        onClose={onClose}
        isMobile={isMobileView}
        iconType="revoke"
        title={title || defaultTitle}
        type="destructive"
        paperSx={{
          height: "fit-content !important",
        }}
        buttons={[
          {
            label: "Cancel",
            onClick: onClose,
            variant: "ghost",
          },
          {
            label: goBackText,
            onClick: handleNavigate,
            color: "primary",
            variant: "filled",
          },
        ]}
        sx={{
          ...(isMobileView && {
            "& .MuiDialogActions-root": {
              display: "flex",
              flexDirection: "row",
              width: "365px",
              marginLeft: "auto",
              justifyContent: "flex-end",
            },
          }),
        }}
      />
    );
  },
);
export default ApiKeyProcessingIssueModal;