All files / src/apps/organisations/components DeleteMemberDialog.tsx

16.67% Statements 1/6
0% Branches 0/4
0% Functions 0/3
16.67% Lines 1/6

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                                            1x                                                                                                                            
import React, { useRef } from "react";
import {
  Button,
  ButtonGroup,
  Dialog,
  DialogActions,
  DialogContent,
  DialogContentText,
  DialogTitle,
  Typography
} from "@mui/material";
import { Form, Formik, FormikProps, FormikValues } from "formik";
 
interface Props {
  open: boolean;
  handleClose: () => void;
  handleSubmit?: () => void;
  user?: string;
  orgName: string;
  error?: {};
}
 
const DeleteMemberDialog: React.FC<Props> = ({
  open,
  handleClose,
  handleSubmit,
  user,
  orgName,
  error
}) => {
  const formikRef = useRef<FormikProps<FormikValues>>(null);
 
  return (
    <Dialog open={open} onClose={handleClose}>
      <DialogTitle>Remove {user}</DialogTitle>
      <DialogContent>
        <DialogContentText>
          Are you sure you want to remove {user} from {orgName}?
        </DialogContentText>
        <Formik
          innerRef={formikRef}
          initialValues={{}}
          onSubmit={() => {
            if (handleSubmit) {
              handleSubmit();
            }
          }}
        >
          {({ isSubmitting }) => (
            <Form>
              {!error ? (
                <br />
              ) : (
                <Typography
                  align="center"
                  color="error"
                  variant="caption"
                  component="div"
                >
                  {error}
                </Typography>
              )}
              <DialogActions>
                <ButtonGroup
                  fullWidth
                  color="primary"
                  variant="text"
                  size="medium"
                >
                  <Button onClick={handleClose}>No</Button>
                  <Button type="submit" disabled={isSubmitting}>
                    Yes
                  </Button>
                </ButtonGroup>
              </DialogActions>
            </Form>
          )}
        </Formik>
      </DialogContent>
    </Dialog>
  );
};
 
export default DeleteMemberDialog;