aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/common/dailog/ConfirmDialog.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-26 18:46:58 +0800
committercrupest <crupest@outlook.com>2021-06-26 18:46:58 +0800
commit29da3cef05ef138af2028ad44a27d706e9ae2df8 (patch)
tree91e651c098e52a5a709cb780ba7847a8f6ec586a /FrontEnd/src/views/common/dailog/ConfirmDialog.tsx
parentfa540c046d126449f77e46edd379bbc84e02d05d (diff)
downloadtimeline-29da3cef05ef138af2028ad44a27d706e9ae2df8.tar.gz
timeline-29da3cef05ef138af2028ad44a27d706e9ae2df8.tar.bz2
timeline-29da3cef05ef138af2028ad44a27d706e9ae2df8.zip
...
Diffstat (limited to 'FrontEnd/src/views/common/dailog/ConfirmDialog.tsx')
-rw-r--r--FrontEnd/src/views/common/dailog/ConfirmDialog.tsx40
1 files changed, 40 insertions, 0 deletions
diff --git a/FrontEnd/src/views/common/dailog/ConfirmDialog.tsx b/FrontEnd/src/views/common/dailog/ConfirmDialog.tsx
new file mode 100644
index 00000000..1ad52350
--- /dev/null
+++ b/FrontEnd/src/views/common/dailog/ConfirmDialog.tsx
@@ -0,0 +1,40 @@
+import { convertI18nText, I18nText } from "@/common";
+import React from "react";
+import { useTranslation } from "react-i18next";
+
+import Button from "../button/Button";
+import Dialog from "./Dialog";
+
+const ConfirmDialog: React.FC<{
+ open?: boolean;
+ onClose: () => void;
+ onConfirm: () => void;
+ title: I18nText;
+ body: I18nText;
+}> = ({ open, onClose, onConfirm, title, body }) => {
+ const { t } = useTranslation();
+
+ return (
+ <Dialog onClose={onClose} open={open}>
+ <h3 className="text-danger">{convertI18nText(title, t)}</h3>
+ <p>{convertI18nText(body, t)}</p>
+ <div>
+ <Button
+ text="operationDialog.cancel"
+ color="secondary"
+ onClick={onClose}
+ />
+ <Button
+ text="operationDialog.confirm"
+ color="danger"
+ onClick={() => {
+ onConfirm();
+ onClose();
+ }}
+ />
+ </div>
+ </Dialog>
+ );
+};
+
+export default ConfirmDialog;