All files / src/features/Permissions/ModalV2/components/AddPermissionModal AddPermissionModal.tsx

91.66% Statements 11/12
87.5% Branches 7/8
75% Functions 3/4
90% Lines 9/10

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                          4x           232x   232x   232x     232x 1x 1x     232x         232x                                                        
import { useState } from "react";
import { CustomModal } from "./AddPermissionModal.styles";
import JSONModalContent from "./JSONModalContent";
import PermissionListContent, {
  IPermissionListProps,
} from "./PermissionListContent";
import ErrorCatcher from "@common/Error/ErrorCatcher";
 
interface AddPermissionModalProps extends IPermissionListProps {
  open: boolean;
  onAddCustom: (permissionIds: string[], cb?: () => void) => void;
}
 
const AddPermissionModal = ({
  open,
  onClose,
  onAddCustom,
  ...rest
}: AddPermissionModalProps) => {
  const [isCodeEditor, setIsCodeEditor] = useState<boolean>(false);
 
  const onCancelEditor = () => setIsCodeEditor(false);
 
  const handleAddCustom = (permissionIds: string[]) => {
    onAddCustom(permissionIds, onCancelEditor);
  };
  const handleClose = () => {
    onCancelEditor();
    Eif (!isCodeEditor) onClose();
  };
 
  const modalSize = {
    width: isCodeEditor ? "787px" : "573px",
    height: isCodeEditor ? "617px" : "580px",
  };
 
  return (
    <CustomModal
      open={open}
      onClose={handleClose}
      width={modalSize.width}
      height={modalSize.height}
    >
      <ErrorCatcher errorID="add-permission-modal">
        {isCodeEditor ? (
          <JSONModalContent
            memberId={rest.memberId}
            onClose={handleClose}
            onCancel={onCancelEditor}
            onAdd={handleAddCustom}
          />
        ) : (
          <PermissionListContent
            {...rest}
            onClose={handleClose}
            setIsCodeEditor={setIsCodeEditor}
          />
        )}
      </ErrorCatcher>
    </CustomModal>
  );
};
 
export default AddPermissionModal;