All files / src/utils/components ConfirmationDialog.tsx

20% Statements 1/5
100% Branches 0/0
0% Functions 0/4
20% Lines 1/5

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                                    1x                                                                          
import React from "react";
import {
  Button,
  ButtonGroup,
  Dialog,
  DialogActions,
  DialogTitle
} from "@mui/material";
 
interface Props {
  open: boolean;
  setOpen: Function;
  onConfirm: Function;
  message: JSX.Element | string;
  cancelButtonText: string;
  confirmButtonText: string;
}
 
const ConfirmationDialog: React.FC<Props> = ({
  open,
  setOpen,
  onConfirm,
  message,
  cancelButtonText,
  confirmButtonText
}) => {
  return (
    <Dialog
      data-testid="confirm-dialog"
      maxWidth="xs"
      aria-labelledby="confirmation-dialog-title"
      open={open}
      onClose={() => setOpen(false)}
    >
      <DialogTitle
        style={{ textAlign: "center" }}
        id="confirmation-dialog-title"
      >
        {message}
      </DialogTitle>
      <DialogActions style={{ textAlign: "center" }}>
        <ButtonGroup fullWidth color="primary" variant="text" size="medium">
          <Button onClick={() => setOpen(false)} color="secondary">
            {cancelButtonText}
          </Button>
          <Button onClick={() => onConfirm()} color="primary">
            {confirmButtonText}
          </Button>
        </ButtonGroup>
      </DialogActions>
    </Dialog>
  );
};
 
export default ConfirmationDialog;