aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/hooks')
-rw-r--r--frontend/src/hooks/UseMessage.tsx6
-rw-r--r--frontend/src/hooks/UseMessageLoad.tsx35
2 files changed, 37 insertions, 4 deletions
diff --git a/frontend/src/hooks/UseMessage.tsx b/frontend/src/hooks/UseMessage.tsx
index 9bfb713..13d8e4f 100644
--- a/frontend/src/hooks/UseMessage.tsx
+++ b/frontend/src/hooks/UseMessage.tsx
@@ -26,13 +26,11 @@ const useMessage = () => {
26 }; 26 };
27 27
28 const MessageDialogComponent = isOpen && ( 28 const MessageDialogComponent = isOpen && (
29 <div className="dialog-container">
29 <MessageDialog title={title} subtitle={subtitle} onClose={handleClose}></MessageDialog> 30 <MessageDialog title={title} subtitle={subtitle} onClose={handleClose}></MessageDialog>
31 </div>
30 ); 32 );
31 33
32 const getDialogComponent = () => {
33 return MessageDialogComponent;
34 };
35
36 return { message, MessageDialogComponent }; 34 return { message, MessageDialogComponent };
37} 35}
38 36
diff --git a/frontend/src/hooks/UseMessageLoad.tsx b/frontend/src/hooks/UseMessageLoad.tsx
new file mode 100644
index 0000000..defd2b3
--- /dev/null
+++ b/frontend/src/hooks/UseMessageLoad.tsx
@@ -0,0 +1,35 @@
1import React, { useState } from 'react';
2import MessageDialogLoad from "../components/MessageDialogLoad";
3
4const useMessageLoad = () => {
5 const [isOpen, setIsOpen] = useState(false);
6
7 const [title, setTitle] = useState<string>("");
8 const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null);
9
10 const messageLoad = (title: string) => {
11 setIsOpen(true);
12 setTitle(title);
13 return new Promise((resolve) => {
14 setResolvePromise(() => resolve);
15 });
16 };
17
18 const messageLoadClose = () => {
19 setIsOpen(false);
20 if (resolvePromise) {
21 resolvePromise();
22 setResolvePromise(null);
23 }
24 };
25
26 const MessageDialogLoadComponent = isOpen && (
27 <div className="dialog-container">
28 <MessageDialogLoad title={title} onClose={messageLoadClose}></MessageDialogLoad>
29 </div>
30 );
31
32 return { messageLoad, messageLoadClose, MessageDialogLoadComponent };
33}
34
35export default useMessageLoad;