From c4309aa14c6725bef50b33dd43470f72c409fe9b Mon Sep 17 00:00:00 2001 From: Galexion Date: Thu, 29 Feb 2024 22:48:41 -0500 Subject: [PATCH] AquaNet: Added an Error Message trigger to pages that didn't telegraph to the user that there was an error before. --- AquaNet/src/ErrorMessage.svelte | 12 ++++++++++++ AquaNet/src/libs/sdk.ts | 2 +- AquaNet/src/pages/MaimaiRating.svelte | 9 ++++++++- AquaNet/src/pages/Ranking.svelte | 27 ++++++++++++++++----------- AquaNet/src/pages/UserHome.svelte | 11 ++++++++--- 5 files changed, 45 insertions(+), 16 deletions(-) create mode 100644 AquaNet/src/ErrorMessage.svelte diff --git a/AquaNet/src/ErrorMessage.svelte b/AquaNet/src/ErrorMessage.svelte new file mode 100644 index 00000000..58722092 --- /dev/null +++ b/AquaNet/src/ErrorMessage.svelte @@ -0,0 +1,12 @@ + + + +
+

Something's wrong, Please Try again Later.

+

Need to know why? Check Below.

+ + {ifError} + +
\ No newline at end of file diff --git a/AquaNet/src/libs/sdk.ts b/AquaNet/src/libs/sdk.ts index c5f8ace2..f9b30629 100644 --- a/AquaNet/src/libs/sdk.ts +++ b/AquaNet/src/libs/sdk.ts @@ -129,7 +129,7 @@ export const GAME = { userSummary: (username: string, game: GameName): Promise => post(`/api/v2/game/${game}/user-summary`, { username }), ranking: (game: GameName): Promise => - post(`/api/v2/game/${game}/ranking`, { }), + post(`/api/v2/game/${game}/ranking`, { }), } diff --git a/AquaNet/src/pages/MaimaiRating.svelte b/AquaNet/src/pages/MaimaiRating.svelte index d1bc02e3..3fc09a49 100644 --- a/AquaNet/src/pages/MaimaiRating.svelte +++ b/AquaNet/src/pages/MaimaiRating.svelte @@ -3,9 +3,11 @@ import {getMaimaiAllMusic, getMaimai} from "../libs/maimai"; import type {ParsedRating, Rating} from "../libs/maimaiTypes"; import { getMult } from "../libs/scoring"; + import ErrorMessage from "../ErrorMessage.svelte"; export let userId: any userId = +userId + let ifError = null; if (!userId) console.error("No user ID provided") @@ -25,6 +27,8 @@ old: parseRating(data.userRating.ratingList), new: parseRating(data.userRating.newRatingList) } + }).catch((error) => { + ifError = error }) function parseRating(arr: Rating[]) { @@ -91,7 +95,10 @@ {/each} {/each} - {/if} + {:else if ifError} + + {/if} + \ No newline at end of file + diff --git a/AquaNet/src/pages/UserHome.svelte b/AquaNet/src/pages/UserHome.svelte index a62598ee..b3494a96 100644 --- a/AquaNet/src/pages/UserHome.svelte +++ b/AquaNet/src/pages/UserHome.svelte @@ -8,6 +8,7 @@ import 'chartjs-adapter-moment'; import { DATA, GAME } from "../libs/sdk"; import { type GameName, getMult } from "../libs/scoring"; + import ErrorMessage from "../ErrorMessage.svelte"; registerChart() @@ -15,7 +16,7 @@ export let game: GameName game = game || "mai2" let calElement: HTMLElement - + let ifError = null title(`User ${username}`) interface MusicAndPlay extends MusicMeta, GenericGamePlaylog {} @@ -38,7 +39,9 @@ d = {user, trend, recent: user.recent.map(it => {return {...music[it.musicId], ...it}})} localStorage.setItem("tmp-user-details", JSON.stringify(d)) renderCal(calElement, trend.map(it => {return {date: it.date, value: it.plays}})) - }) + }).catch((error) => { + ifError = error; + }); const pfpNotFound = (e: Event) => { (e.target as HTMLImageElement).src = "/assets/imgs/no_profile.png" @@ -191,7 +194,9 @@ {/each} - {:else} + {:else if ifError} + + {:else}

Loading...

{/if}