From 1c51ea2e373dcdd458d8cdc1d3b2225c316f346d Mon Sep 17 00:00:00 2001
From: Wolfboy248 <105884620+Wolfboy248@users.noreply.github.com>
Date: Sun, 20 Oct 2024 16:51:43 +0200
Subject: refactor: touch ups
---
frontend/src/hooks/UseConfirm.tsx | 36 ++++++++++++++++++++++++++++++++++++
frontend/src/hooks/UseMessage.tsx | 27 +++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
create mode 100644 frontend/src/hooks/UseConfirm.tsx
create mode 100644 frontend/src/hooks/UseMessage.tsx
(limited to 'frontend/src/hooks')
diff --git a/frontend/src/hooks/UseConfirm.tsx b/frontend/src/hooks/UseConfirm.tsx
new file mode 100644
index 0000000..6de7b10
--- /dev/null
+++ b/frontend/src/hooks/UseConfirm.tsx
@@ -0,0 +1,36 @@
+import React, { useState } from 'react';
+import ConfirmDialog from '../components/ConfirmDialog';
+
+const useConfirm = ( title: string, subtitle: string ) => {
+ const [isOpen, setIsOpen] = useState(false);
+ const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null);
+
+ const confirm = () => {
+ setIsOpen(true);
+ return new Promise((resolve) => {
+ setResolvePromise(() => resolve);
+ });
+ };
+
+ const handleConfirm = () => {
+ setIsOpen(false);
+ if (resolvePromise) {
+ resolvePromise(true);
+ }
+ }
+
+ const handleCancel = () => {
+ setIsOpen(false);
+ if (resolvePromise) {
+ resolvePromise(false);
+ }
+ }
+
+ const ConfirmDialogComponent = isOpen && (
+
+ );
+
+ return { confirm, ConfirmDialogComponent };
+}
+
+export default useConfirm;
diff --git a/frontend/src/hooks/UseMessage.tsx b/frontend/src/hooks/UseMessage.tsx
new file mode 100644
index 0000000..249a3bf
--- /dev/null
+++ b/frontend/src/hooks/UseMessage.tsx
@@ -0,0 +1,27 @@
+import React, { useState } from 'react';
+import MessageDialog from "../components/MessageDialog";
+
+const useMessage = () => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ const [title, setTitle] = useState("");
+ const [subtitle, setSubtitle] = useState("");
+
+ const message = (title: string, subtitle: string) => {
+ setIsOpen(true);
+ setTitle(title);
+ setSubtitle(subtitle);
+ };
+
+ const handleClose = () => {
+ setIsOpen(false);
+ };
+
+ const MessageDialogComponent = isOpen && (
+
+ );
+
+ return { message, MessageDialogComponent };
+}
+
+export default useMessage;
--
cgit v1.2.3