aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/hooks/UseMessage.tsx
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2025-10-22 13:59:12 +0400
committerGitHub <noreply@github.com>2025-10-22 12:59:12 +0300
commit69aeb7889ac136a8e4fbe7de1330298e30345479 (patch)
tree6b2cd2d420105dc7ffad3c3649df359f634cae77 /frontend/src/hooks/UseMessage.tsx
parentfeat/rankings: update wr for 3 maps (#279) (diff)
downloadlphub-69aeb7889ac136a8e4fbe7de1330298e30345479.tar.gz
lphub-69aeb7889ac136a8e4fbe7de1330298e30345479.tar.bz2
lphub-69aeb7889ac136a8e4fbe7de1330298e30345479.zip
feat/frontend: switch to vite, update node to v22 (#281)
Diffstat (limited to 'frontend/src/hooks/UseMessage.tsx')
-rw-r--r--frontend/src/hooks/UseMessage.tsx52
1 files changed, 26 insertions, 26 deletions
diff --git a/frontend/src/hooks/UseMessage.tsx b/frontend/src/hooks/UseMessage.tsx
index 97ec746..22a5168 100644
--- a/frontend/src/hooks/UseMessage.tsx
+++ b/frontend/src/hooks/UseMessage.tsx
@@ -1,37 +1,37 @@
1import React, { useState } from 'react'; 1import React, { useState } from "react";
2import MessageDialog from "@components/MessageDialog"; 2import MessageDialog from "@components/MessageDialog";
3 3
4const useMessage = () => { 4const useMessage = () => {
5 const [isOpen, setIsOpen] = useState(false); 5 const [isOpen, setIsOpen] = useState(false);
6 6
7 const [title, setTitle] = useState<string>(""); 7 const [title, setTitle] = useState<string>("");
8 const [subtitle, setSubtitle] = useState<string>(""); 8 const [subtitle, setSubtitle] = useState<string>("");
9 const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null); 9 const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null);
10 10
11 const message = (title: string, subtitle: string) => { 11 const message = (title: string, subtitle: string) => {
12 setIsOpen(true); 12 setIsOpen(true);
13 setTitle(title); 13 setTitle(title);
14 setSubtitle(subtitle); 14 setSubtitle(subtitle);
15 return new Promise((resolve) => { 15 return new Promise((resolve) => {
16 setResolvePromise(() => resolve); 16 setResolvePromise(() => resolve);
17 }); 17 });
18 }; 18 };
19 19
20 const handleClose = () => { 20 const handleClose = () => {
21 setIsOpen(false); 21 setIsOpen(false);
22 if (resolvePromise) { 22 if (resolvePromise) {
23 resolvePromise(); 23 resolvePromise();
24 setResolvePromise(null); 24 setResolvePromise(null);
25 } 25 }
26 }; 26 };
27 27
28 const MessageDialogComponent = isOpen && ( 28 const MessageDialogComponent = isOpen && (
29 <div className="dialog-container"> 29 <div className="dialog-container">
30 <MessageDialog title={title} subtitle={subtitle} onClose={handleClose}></MessageDialog> 30 <MessageDialog title={title} subtitle={subtitle} onClose={handleClose}></MessageDialog>
31 </div> 31 </div>
32 ); 32 );
33 33
34 return { message, MessageDialogComponent }; 34 return { message, MessageDialogComponent };
35} 35}
36 36
37export default useMessage; 37export default useMessage;