diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-22 12:23:35 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-22 12:23:35 +0300 |
| commit | 3ee18a8cb3a2893f552275c35b0724daf4b8ab69 (patch) | |
| tree | d9003e0cc2c0a1dcbcda5b6eec247776a8e2f340 /frontend/src/hooks/UseMessage.tsx | |
| parent | backend: importance of || and && (diff) | |
| download | lphub-3ee18a8cb3a2893f552275c35b0724daf4b8ab69.tar.gz lphub-3ee18a8cb3a2893f552275c35b0724daf4b8ab69.tar.bz2 lphub-3ee18a8cb3a2893f552275c35b0724daf4b8ab69.zip | |
frontend: await message
Diffstat (limited to 'frontend/src/hooks/UseMessage.tsx')
| -rw-r--r-- | frontend/src/hooks/UseMessage.tsx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/frontend/src/hooks/UseMessage.tsx b/frontend/src/hooks/UseMessage.tsx index 249a3bf..0d2799c 100644 --- a/frontend/src/hooks/UseMessage.tsx +++ b/frontend/src/hooks/UseMessage.tsx | |||
| @@ -3,18 +3,24 @@ import MessageDialog from "../components/MessageDialog"; | |||
| 3 | 3 | ||
| 4 | const useMessage = () => { | 4 | const useMessage = () => { |
| 5 | const [isOpen, setIsOpen] = useState(false); | 5 | const [isOpen, setIsOpen] = useState(false); |
| 6 | |||
| 7 | const [title, setTitle] = useState<string>(""); | 6 | const [title, setTitle] = useState<string>(""); |
| 8 | const [subtitle, setSubtitle] = useState<string>(""); | 7 | const [subtitle, setSubtitle] = useState<string>(""); |
| 8 | const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null); | ||
| 9 | 9 | ||
| 10 | const message = (title: string, subtitle: string) => { | 10 | const message = (title: string, subtitle: string) => { |
| 11 | setIsOpen(true); | 11 | setIsOpen(true); |
| 12 | setTitle(title); | 12 | setTitle(title); |
| 13 | setSubtitle(subtitle); | 13 | setSubtitle(subtitle); |
| 14 | return new Promise<void>((resolve) => { | ||
| 15 | setResolvePromise(() => resolve); | ||
| 16 | }) | ||
| 14 | }; | 17 | }; |
| 15 | 18 | ||
| 16 | const handleClose = () => { | 19 | const handleClose = () => { |
| 17 | setIsOpen(false); | 20 | setIsOpen(false); |
| 21 | if (resolvePromise) { | ||
| 22 | setResolvePromise(null); | ||
| 23 | } | ||
| 18 | }; | 24 | }; |
| 19 | 25 | ||
| 20 | const MessageDialogComponent = isOpen && ( | 26 | const MessageDialogComponent = isOpen && ( |