aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/hooks
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
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')
-rw-r--r--frontend/src/hooks/UseConfirm.tsx56
-rw-r--r--frontend/src/hooks/UseMessage.tsx52
-rw-r--r--frontend/src/hooks/UseMessageLoad.tsx48
3 files changed, 78 insertions, 78 deletions
diff --git a/frontend/src/hooks/UseConfirm.tsx b/frontend/src/hooks/UseConfirm.tsx
index e86d70d..593427e 100644
--- a/frontend/src/hooks/UseConfirm.tsx
+++ b/frontend/src/hooks/UseConfirm.tsx
@@ -1,40 +1,40 @@
1import React, { useState } from 'react'; 1import React, { useState } from "react";
2import ConfirmDialog from '@components/ConfirmDialog'; 2import ConfirmDialog from "@components/ConfirmDialog";
3 3
4const useConfirm = () => { 4const useConfirm = () => {
5 const [isOpen, setIsOpen] = useState(false); 5 const [isOpen, setIsOpen] = useState(false);
6 const [title, setTitle] = useState<string>(""); 6 const [title, setTitle] = useState<string>("");
7 const [subtitle, setSubtitle] = useState<string>(""); 7 const [subtitle, setSubtitle] = useState<string>("");
8 const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null); 8 const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null);
9 9
10 const confirm = ( titleN: string, subtitleN: string ) => { 10 const confirm = ( titleN: string, subtitleN: string ) => {
11 setIsOpen(true); 11 setIsOpen(true);
12 setTitle(titleN); 12 setTitle(titleN);
13 setSubtitle(subtitleN); 13 setSubtitle(subtitleN);
14 return new Promise<boolean>((resolve) => { 14 return new Promise<boolean>((resolve) => {
15 setResolvePromise(() => resolve); 15 setResolvePromise(() => resolve);
16 }); 16 });
17 }; 17 };
18 18
19 const handleConfirm = () => { 19 const handleConfirm = () => {
20 setIsOpen(false); 20 setIsOpen(false);
21 if (resolvePromise) { 21 if (resolvePromise) {
22 resolvePromise(true); 22 resolvePromise(true);
23 }
24 } 23 }
24 }
25 25
26 const handleCancel = () => { 26 const handleCancel = () => {
27 setIsOpen(false); 27 setIsOpen(false);
28 if (resolvePromise) { 28 if (resolvePromise) {
29 resolvePromise(false); 29 resolvePromise(false);
30 }
31 } 30 }
31 }
32 32
33 const ConfirmDialogComponent = isOpen && ( 33 const ConfirmDialogComponent = isOpen && (
34 <ConfirmDialog title={title} subtitle={subtitle} onConfirm={handleConfirm} onCancel={handleCancel}></ConfirmDialog> 34 <ConfirmDialog title={title} subtitle={subtitle} onConfirm={handleConfirm} onCancel={handleCancel}></ConfirmDialog>
35 ); 35 );
36 36
37 return { confirm, ConfirmDialogComponent }; 37 return { confirm, ConfirmDialogComponent };
38} 38}
39 39
40export default useConfirm; 40export default useConfirm;
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;
diff --git a/frontend/src/hooks/UseMessageLoad.tsx b/frontend/src/hooks/UseMessageLoad.tsx
index 228c2b4..eb42a45 100644
--- a/frontend/src/hooks/UseMessageLoad.tsx
+++ b/frontend/src/hooks/UseMessageLoad.tsx
@@ -1,35 +1,35 @@
1import React, { useState } from 'react'; 1import React, { useState } from "react";
2import MessageDialogLoad from "@components/MessageDialogLoad"; 2import MessageDialogLoad from "@components/MessageDialogLoad";
3 3
4const useMessageLoad = () => { 4const useMessageLoad = () => {
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 [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null); 8 const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null);
9 9
10 const messageLoad = (title: string) => { 10 const messageLoad = (title: string) => {
11 setIsOpen(true); 11 setIsOpen(true);
12 setTitle(title); 12 setTitle(title);
13 return new Promise((resolve) => { 13 return new Promise((resolve) => {
14 setResolvePromise(() => resolve); 14 setResolvePromise(() => resolve);
15 }); 15 });
16 }; 16 };
17 17
18 const messageLoadClose = () => { 18 const messageLoadClose = () => {
19 setIsOpen(false); 19 setIsOpen(false);
20 if (resolvePromise) { 20 if (resolvePromise) {
21 resolvePromise(); 21 resolvePromise();
22 setResolvePromise(null); 22 setResolvePromise(null);
23 } 23 }
24 }; 24 };
25 25
26 const MessageDialogLoadComponent = isOpen && ( 26 const MessageDialogLoadComponent = isOpen && (
27 <div className="dialog-container"> 27 <div className="dialog-container">
28 <MessageDialogLoad title={title} onClose={messageLoadClose}></MessageDialogLoad> 28 <MessageDialogLoad title={title} onClose={messageLoadClose}></MessageDialogLoad>
29 </div> 29 </div>
30 ); 30 );
31 31
32 return { messageLoad, messageLoadClose, MessageDialogLoadComponent }; 32 return { messageLoad, messageLoadClose, MessageDialogLoadComponent };
33} 33}
34 34
35export default useMessageLoad; 35export default useMessageLoad;