aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components
diff options
context:
space:
mode:
authorWolfboy248 <georgejvindkarlsen@gmail.com>2024-10-29 11:45:00 +0100
committerWolfboy248 <georgejvindkarlsen@gmail.com>2024-10-29 11:45:00 +0100
commit4d842995f4067058b21729aab6139cd388c36353 (patch)
tree31fc780b4c1981a72f8dd67c6c116b051bee404d /frontend/src/components
parentrefactor: upload run dialog, useMessage update, added loader spinner (diff)
downloadlphub-4d842995f4067058b21729aab6139cd388c36353.tar.gz
lphub-4d842995f4067058b21729aab6139cd388c36353.tar.bz2
lphub-4d842995f4067058b21729aab6139cd388c36353.zip
refactor: loader dialog, uploadrundialog update, touchups
Diffstat (limited to 'frontend/src/components')
-rw-r--r--frontend/src/components/Leaderboards.tsx4
-rw-r--r--frontend/src/components/MessageDialogLoad.tsx29
-rw-r--r--frontend/src/components/UploadRunDialog.tsx13
3 files changed, 39 insertions, 7 deletions
diff --git a/frontend/src/components/Leaderboards.tsx b/frontend/src/components/Leaderboards.tsx
index b9e071c..4a107ad 100644
--- a/frontend/src/components/Leaderboards.tsx
+++ b/frontend/src/components/Leaderboards.tsx
@@ -34,9 +34,7 @@ const Leaderboards: React.FC<LeaderboardsProps> = ({ data }) => {
34 34
35 return ( 35 return (
36 <div> 36 <div>
37 <div style={{position: "absolute", width: "100%", height: "100%", top: "0px", left: "-350px"}}> 37 {MessageDialogComponent}
38 {MessageDialogComponent}
39 </div>
40 <section id='section6' className='summary2'> 38 <section id='section6' className='summary2'>
41 39
42 <div id='leaderboard-top' 40 <div id='leaderboard-top'
diff --git a/frontend/src/components/MessageDialogLoad.tsx b/frontend/src/components/MessageDialogLoad.tsx
new file mode 100644
index 0000000..381a4a4
--- /dev/null
+++ b/frontend/src/components/MessageDialogLoad.tsx
@@ -0,0 +1,29 @@
1import React from 'react';
2
3import "../css/Dialog.css"
4
5interface MessageDialogLoadProps {
6 title: string;
7 onClose: () => void;
8};
9
10const MessageDialogLoad: React.FC<MessageDialogLoadProps> = ({ title, onClose }) => {
11 return (
12 <div className='dimmer'>
13 <div className='dialog'>
14 <div className='dialog-element dialog-header'>
15 <span>{title}</span>
16 </div>
17 <div className='dialog-element dialog-description'>
18 <div style={{display: "flex", justifyContent: "center"}}>
19 <span className="loader"></span>
20 </div>
21 </div>
22 <div className='dialog-element dialog-btns-container'>
23 </div>
24 </div>
25 </div>
26 )
27}
28
29export default MessageDialogLoad;
diff --git a/frontend/src/components/UploadRunDialog.tsx b/frontend/src/components/UploadRunDialog.tsx
index 212a792..22b895c 100644
--- a/frontend/src/components/UploadRunDialog.tsx
+++ b/frontend/src/components/UploadRunDialog.tsx
@@ -9,6 +9,7 @@ import { API } from '../api/Api';
9import { useNavigate } from 'react-router-dom'; 9import { useNavigate } from 'react-router-dom';
10import useMessage from '../hooks/UseMessage'; 10import useMessage from '../hooks/UseMessage';
11import useConfirm from '../hooks/UseConfirm'; 11import useConfirm from '../hooks/UseConfirm';
12import useMessageLoad from "../hooks/UseMessageLoad";
12 13
13interface UploadRunDialogProps { 14interface UploadRunDialogProps {
14 token?: string; 15 token?: string;
@@ -21,6 +22,7 @@ const UploadRunDialog: React.FC<UploadRunDialogProps> = ({ token, open, onClose,
21 22
22 const { message, MessageDialogComponent } = useMessage(); 23 const { message, MessageDialogComponent } = useMessage();
23 const { confirm, ConfirmDialogComponent } = useConfirm(); 24 const { confirm, ConfirmDialogComponent } = useConfirm();
25 const { messageLoad, messageLoadClose, MessageDialogLoadComponent } = useMessageLoad();
24 26
25 const navigate = useNavigate(); 27 const navigate = useNavigate();
26 28
@@ -164,7 +166,9 @@ const UploadRunDialog: React.FC<UploadRunDialogProps> = ({ token, open, onClose,
164 return; 166 return;
165 } 167 }
166 168
169 messageLoad("Uploading...");
167 const [ success, response ] = await API.post_record(token, uploadRunContent); 170 const [ success, response ] = await API.post_record(token, uploadRunContent);
171 messageLoadClose();
168 await message("Upload Record", response); 172 await message("Upload Record", response);
169 onClose(success); 173 onClose(success);
170 navigate("/profile"); 174 navigate("/profile");
@@ -185,6 +189,7 @@ const UploadRunDialog: React.FC<UploadRunDialogProps> = ({ token, open, onClose,
185 <> 189 <>
186 <div id="upload-run-block" /> 190 <div id="upload-run-block" />
187 {MessageDialogComponent} 191 {MessageDialogComponent}
192 {MessageDialogLoadComponent}
188 {ConfirmDialogComponent} 193 {ConfirmDialogComponent}
189 194
190 <div id='upload-run-menu'> 195 <div id='upload-run-menu'>
@@ -234,7 +239,7 @@ const UploadRunDialog: React.FC<UploadRunDialogProps> = ({ token, open, onClose,
234 </div> 239 </div>
235 : null} 240 : null}
236 241
237 <span>{uploadRunContent.host_demo?.name}</span> 242 <span className="upload-run-demo-name">{uploadRunContent.host_demo?.name}</span>
238 </div> 243 </div>
239 { 244 {
240 games[selectedGameID].is_coop && 245 games[selectedGameID].is_coop &&
@@ -246,13 +251,13 @@ const UploadRunDialog: React.FC<UploadRunDialogProps> = ({ token, open, onClose,
246 <div> 251 <div>
247 <span>Drag and drop</span> 252 <span>Drag and drop</span>
248 <div> 253 <div>
249 <span>Or click here</span><br/> 254 <span style={{fontFamily: "BarlowSemiCondensed-Regular"}}>Or click here</span><br/>
250 <button>Upload</button> 255 <button style={{borderRadius: "24px", padding: "5px 8px", margin: "5px 0px"}}>Upload</button>
251 </div> 256 </div>
252 </div> 257 </div>
253 : null} 258 : null}
254 259
255 <span>{uploadRunContent.partner_demo?.name}</span> 260 <span className="upload-run-demo-name">{uploadRunContent.partner_demo?.name}</span>
256 </div> 261 </div>
257 </> 262 </>
258 ) 263 )