-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathConfirmModal.tsx
40 lines (37 loc) · 966 Bytes
/
ConfirmModal.tsx
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
import { Button, Modal, SemanticCOLORS } from "semantic-ui-react";
interface ConfirmModalProps {
text?: string;
onConfirm: () => void;
onCancel: () => void;
confirmText?: string;
cancelText?: string;
confirmColor?: SemanticCOLORS;
cancelColor?: SemanticCOLORS;
}
const ConfirmModal: React.FC<ConfirmModalProps> = ({
text = "Are you sure?",
onConfirm,
onCancel,
confirmText = "Confirm",
cancelText = "Cancel",
confirmColor = "green",
cancelColor = undefined,
}) => {
return (
<Modal size="large" open={true} onClose={onCancel}>
<Modal.Header>Confirm</Modal.Header>
<Modal.Content>
<p>{text}</p>
</Modal.Content>
<Modal.Actions>
<Button color={cancelColor} onClick={onCancel}>
{cancelText}
</Button>
<Button color={confirmColor} onClick={onConfirm}>
{confirmText}
</Button>
</Modal.Actions>
</Modal>
);
};
export default ConfirmModal;