frontend/src/components/ConfirmDialog.js
import React from "react";
import PropTypes from "prop-types";
import Button from "@material-ui/core/Button";
import Dialog from "@material-ui/core/Dialog";
import DialogActions from "@material-ui/core/DialogActions";
import DialogContent from "@material-ui/core/DialogContent";
import DialogContentText from "@material-ui/core/DialogContentText";
import DialogTitle from "@material-ui/core/DialogTitle";
const ConfirmDialog = ({ open, onClose, onConfirm, title, message }) => (
<Dialog open={open} onClose={onClose}>
<DialogTitle>{title}</DialogTitle>
<DialogContent>
<DialogContentText>{message}</DialogContentText>
</DialogContent>
<DialogActions>
<Button onClick={onClose} color="primary">
No
</Button>
<Button
onClick={() => {
onClose();
onConfirm();
}}
color="primary"
autoFocus
>
Yes
</Button>
</DialogActions>
</Dialog>
);
ConfirmDialog.propTypes = {
open: PropTypes.bool,
onClose: PropTypes.func,
onConfirm: PropTypes.func,
title: PropTypes.string,
message: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
};
ConfirmDialog.defaultProps = {
open: false,
onClose: undefined,
onConfirm: undefined,
title: undefined,
message: undefined
};
export default ConfirmDialog;