From 4cc31d50baae7fea05cae502ffc2972b8a8ec165 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:48:28 +0300 Subject: xdd --- frontend/src/components/Login.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/components/Login.tsx b/frontend/src/components/Login.tsx index 77236ce..a8c5503 100644 --- a/frontend/src/components/Login.tsx +++ b/frontend/src/components/Login.tsx @@ -17,8 +17,7 @@ const Login: React.FC = ({ setToken, profile, setProfile }) => { const navigate = useNavigate(); const _login = () => { - setToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzExNjU1NTgsIm1vZCI6dHJ1ZSwic3ViIjoiNzY1NjExOTgxMzE2Mjk5ODkifQ.KoENjj6Z41-QQu1VKvgAiACsjLK7IoVWlJgrGdr6s24"); - // window.location.href = "/api/v1/login"; + window.location.href = "/api/v1/login"; }; const _logout = () => { -- cgit v1.2.3 From 3ee18a8cb3a2893f552275c35b0724daf4b8ab69 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:23:35 +0300 Subject: frontend: await message --- frontend/src/components/UploadRunDialog.tsx | 22 ++++++++-------------- frontend/src/hooks/UseConfirm.tsx | 2 +- frontend/src/hooks/UseMessage.tsx | 8 +++++++- frontend/src/pages/Profile.tsx | 6 +++--- 4 files changed, 19 insertions(+), 19 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/components/UploadRunDialog.tsx b/frontend/src/components/UploadRunDialog.tsx index 0476d6f..a1bebd6 100644 --- a/frontend/src/components/UploadRunDialog.tsx +++ b/frontend/src/components/UploadRunDialog.tsx @@ -19,12 +19,9 @@ interface UploadRunDialogProps { const UploadRunDialog: React.FC = ({ token, open, onClose, games }) => { - const [confirmMessage, setConfirmMessage] = React.useState("Are you sure you want to upload this demo?"); - const { message, MessageDialogComponent } = useMessage(); const { confirm, ConfirmDialogComponent } = useConfirm(); - const navigate = useNavigate(); const [uploadRunContent, setUploadRunContent] = React.useState({ @@ -95,42 +92,39 @@ const UploadRunDialog: React.FC = ({ token, open, onClose, if (token) { if (games[selectedGameID].is_coop) { if (uploadRunContent.host_demo === null) { - message("Error", "You must select a host demo to upload.") + await message("Error", "You must select a host demo to upload.") return } else if (uploadRunContent.partner_demo === null) { - message("Error", "You must select a partner demo to upload.") + await message("Error", "You must select a partner demo to upload.") return } } else { if (uploadRunContent.host_demo === null) { - message("Error", "You must select a demo to upload.") + await message("Error", "You must select a demo to upload.") return } } const demo = SourceDemoParser.default() .setOptions({ packets: true, header: true }) .parse(await uploadRunContent.host_demo.arrayBuffer()); - const scoreboard = demo.findPacket((message) => { - return message instanceof NetMessages.SvcUserMessage && message.userMessage instanceof ScoreboardTempUpdate; + const scoreboard = demo.findPacket((msg) => { + return msg instanceof NetMessages.SvcUserMessage && msg.userMessage instanceof ScoreboardTempUpdate; }) if (!scoreboard) { - message("Error", "Error while processing demo: Unable to get scoreboard result. Either there is a demo that is corrupt or haven't been recorded in challenge mode.") + await message("Error", "Error while processing demo: Unable to get scoreboard result. Either there is a demo that is corrupt or haven't been recorded in challenge mode.") return } const { portalScore, timeScore } = scoreboard.userMessage?.as() ?? {}; - console.log(`Map Name: ${demo.mapName}. Portal Count: ${portalScore}. Ticks: ${timeScore}.`); - - setConfirmMessage(`Map Name: ${demo.mapName}\nPortal Count: ${portalScore}\nTicks: ${timeScore}\n\nAre you sure you want to upload this demo?`) - const userConfirmed = await confirm("Upload demo?", confirmMessage); + const userConfirmed = await confirm("Upload Record", `Map Name: ${demo.mapName}\nPortal Count: ${portalScore}\nTicks: ${timeScore}\n\nAre you sure you want to upload this demo?`); if (!userConfirmed) { return; } const response = await API.post_record(token, uploadRunContent); - message("Message", response); + await message("Upload Record", response); // navigate(0); onClose(); } diff --git a/frontend/src/hooks/UseConfirm.tsx b/frontend/src/hooks/UseConfirm.tsx index 80a0d51..9a7853b 100644 --- a/frontend/src/hooks/UseConfirm.tsx +++ b/frontend/src/hooks/UseConfirm.tsx @@ -3,9 +3,9 @@ import ConfirmDialog from '../components/ConfirmDialog'; const useConfirm = () => { const [isOpen, setIsOpen] = useState(false); - const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null); const [title, setTitle] = useState(""); const [subtitle, setSubtitle] = useState(""); + const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null); const confirm = ( titleN: string, subtitleN: string ) => { setIsOpen(true); 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"; const useMessage = () => { const [isOpen, setIsOpen] = useState(false); - const [title, setTitle] = useState(""); const [subtitle, setSubtitle] = useState(""); + const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null); const message = (title: string, subtitle: string) => { setIsOpen(true); setTitle(title); setSubtitle(subtitle); + return new Promise((resolve) => { + setResolvePromise(() => resolve); + }) }; const handleClose = () => { setIsOpen(false); + if (resolvePromise) { + setResolvePromise(null); + } }; const MessageDialogComponent = isOpen && ( diff --git a/frontend/src/pages/Profile.tsx b/frontend/src/pages/Profile.tsx index 7559c77..05f372e 100644 --- a/frontend/src/pages/Profile.tsx +++ b/frontend/src/pages/Profile.tsx @@ -63,7 +63,7 @@ const Profile: React.FC = ({ profile, token, gameData, onDeleteRec }; const _delete_submission = async (map_id: number, record_id: number) => { - const userConfirmed = await confirm("Delete record?", "This action cannot be undone"); + const userConfirmed = await confirm("Delete Record", "Are you sure you want to delete this record?"); if (!userConfirmed) { return; @@ -71,9 +71,9 @@ const Profile: React.FC = ({ profile, token, gameData, onDeleteRec const api_success = await API.delete_map_record(token!, map_id, record_id); if (api_success) { - message("Success", "Successfully deleted record"); + await message("Delete Record", "Successfully deleted record."); } else { - message("Error", "Could not delete record"); + await message("Delete Record", "Could not delete record."); } }; -- cgit v1.2.3 From 456ad515988d7918ca64e429d50e21a969f77837 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:28:34 +0300 Subject: frontend: dimmer fullscreen upload, change text --- frontend/src/components/MessageDialog.tsx | 2 +- frontend/src/css/Dialog.css | 3 +-- frontend/src/css/UploadRunDialog.css | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/components/MessageDialog.tsx b/frontend/src/components/MessageDialog.tsx index 0a8db42..17b1258 100644 --- a/frontend/src/components/MessageDialog.tsx +++ b/frontend/src/components/MessageDialog.tsx @@ -19,7 +19,7 @@ const MessageDialog: React.FC = ({ title, subtitle, onClose {subtitle}
- +
diff --git a/frontend/src/css/Dialog.css b/frontend/src/css/Dialog.css index f16425d..47f070b 100644 --- a/frontend/src/css/Dialog.css +++ b/frontend/src/css/Dialog.css @@ -1,10 +1,9 @@ .dimmer { position: fixed; - width: calc(100%); + width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 4; - left: 0px; } .dialog { diff --git a/frontend/src/css/UploadRunDialog.css b/frontend/src/css/UploadRunDialog.css index 6ea9884..a9037c3 100644 --- a/frontend/src/css/UploadRunDialog.css +++ b/frontend/src/css/UploadRunDialog.css @@ -36,8 +36,7 @@ div#upload-run{ position: absolute; background-color: black; opacity: .3; - left: 320px; - width: calc(100% - 320px); + width: 100%; height: 100%; z-index: 2; cursor: no-drop; -- cgit v1.2.3 From c5154b2203342280a0cf75bb5f25311e6112400e Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:41:44 +0300 Subject: frontend: update profile after upload run --- frontend/src/App.tsx | 7 ++++++- frontend/src/api/Maps.tsx | 4 ++-- frontend/src/components/UploadRunDialog.tsx | 9 ++++----- 3 files changed, 12 insertions(+), 8 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index d1d501d..6953de9 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -81,7 +81,6 @@ const App: React.FC = () => { return ( <> - setUploadRunDialog(false)} games={games} /> setUploadRunDialog(true)} /> } /> @@ -95,6 +94,12 @@ const App: React.FC = () => { }> + { + setUploadRunDialog(false); + if (token) { + _set_profile(get_user_id_from_token(token)); + } + }} games={games} /> ); }; diff --git a/frontend/src/api/Maps.tsx b/frontend/src/api/Maps.tsx index 2209788..e57fc45 100644 --- a/frontend/src/api/Maps.tsx +++ b/frontend/src/api/Maps.tsx @@ -75,7 +75,7 @@ export const delete_map_discussion = async (token: string, map_id: string, discu return response.data.success; }; -export const post_record = async (token: string, run: UploadRunContent): Promise => { +export const post_record = async (token: string, run: UploadRunContent): Promise<[boolean, string]> => { if (run.partner_demo) { const response = await axios.postForm(url(`maps/${run.map_id}/record`), { "host_demo": run.host_demo, @@ -94,7 +94,7 @@ export const post_record = async (token: string, run: UploadRunContent): Promise "Authorization": token, } }); - return response.data.message; + return [ response.data.success, response.data.message ]; } } diff --git a/frontend/src/components/UploadRunDialog.tsx b/frontend/src/components/UploadRunDialog.tsx index a1bebd6..b39aab6 100644 --- a/frontend/src/components/UploadRunDialog.tsx +++ b/frontend/src/components/UploadRunDialog.tsx @@ -13,7 +13,7 @@ import useConfirm from '../hooks/UseConfirm'; interface UploadRunDialogProps { token?: string; open: boolean; - onClose: () => void; + onClose: (updateProfile: boolean) => void; games: Game[]; } @@ -123,10 +123,9 @@ const UploadRunDialog: React.FC = ({ token, open, onClose, return; } - const response = await API.post_record(token, uploadRunContent); + const [ success, response ] = await API.post_record(token, uploadRunContent); await message("Upload Record", response); - // navigate(0); - onClose(); + onClose(success); } }; @@ -193,7 +192,7 @@ const UploadRunDialog: React.FC = ({ token, open, onClose,
- +
-- cgit v1.2.3 From f47d137b41e90d4ecc541d7de49eed52ec44c091 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:25:48 +0300 Subject: frontend: update profile after upload run --- frontend/src/components/UploadRunDialog.tsx | 1 + 1 file changed, 1 insertion(+) (limited to 'frontend/src/components') diff --git a/frontend/src/components/UploadRunDialog.tsx b/frontend/src/components/UploadRunDialog.tsx index b39aab6..d0b5687 100644 --- a/frontend/src/components/UploadRunDialog.tsx +++ b/frontend/src/components/UploadRunDialog.tsx @@ -125,6 +125,7 @@ const UploadRunDialog: React.FC = ({ token, open, onClose, const [ success, response ] = await API.post_record(token, uploadRunContent); await message("Upload Record", response); + console.log("weweew") onClose(success); } }; -- cgit v1.2.3 From 39d5aa4ddb55d3418c54f9b2a0e310a624097634 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Thu, 24 Oct 2024 11:23:39 +0300 Subject: frontend: change host/partner to blue/orange --- frontend/src/components/Leaderboards.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/components/Leaderboards.tsx b/frontend/src/components/Leaderboards.tsx index f4d666d..f86aa7b 100644 --- a/frontend/src/components/Leaderboards.tsx +++ b/frontend/src/components/Leaderboards.tsx @@ -40,8 +40,8 @@ const Leaderboards: React.FC = ({ data }) => { {data.map.is_coop ? (
- Host - Partner + Blue + Orange
) : ( Runner @@ -87,7 +87,7 @@ const Leaderboards: React.FC = ({ data }) => { {r.kind === "multiplayer" ? ( - + -- cgit v1.2.3