From e7b5991dbff65680a153b23283c4ef8b22ef9292 Mon Sep 17 00:00:00 2001 From: Becods Date: Mon, 13 May 2024 10:13:17 +0800 Subject: [PATCH] [+] Add ongeki b55 --- AquaNet/src/components/MapDetails.svelte | 18 ++++++++--- AquaNet/src/libs/ongekiTypes.ts | 24 ++++++++++++++ AquaNet/src/pages/UserHome.svelte | 32 +++++++++++++++++++ .../samnyan/aqua/net/games/ongeki/Ongeki.kt | 12 ++++--- 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 AquaNet/src/libs/ongekiTypes.ts diff --git a/AquaNet/src/components/MapDetails.svelte b/AquaNet/src/components/MapDetails.svelte index 0c521a37..6a598378 100644 --- a/AquaNet/src/components/MapDetails.svelte +++ b/AquaNet/src/components/MapDetails.svelte @@ -16,7 +16,15 @@ let mapData = g.split(":").map(Number) let mult = getMult(mapData[3], game) let mapRank: number | undefined = meta?.notes?.[mapData[1] === 10 ? 0 : mapData[1]]?.lv - + + let gameIndexMap = { + 'mai2': 3, + 'ongeki': 2, + 'chu3': 2 + }; + + let gameIndex = gameIndexMap[game as keyof typeof gameIndexMap]; +
@@ -30,11 +38,11 @@
- + - {("" + getMult(mapData[3], game)[2]).replace("p", "+")} - - {roundFloor(mapData[3], game, 1)}% + {("" + getMult(mapData[gameIndex], game)[2]).replace("p", "+")} + + {roundFloor(mapData[gameIndex], game, 1)}% {#if game === 'mai2'} diff --git a/AquaNet/src/libs/ongekiTypes.ts b/AquaNet/src/libs/ongekiTypes.ts new file mode 100644 index 00000000..5f107fe2 --- /dev/null +++ b/AquaNet/src/libs/ongekiTypes.ts @@ -0,0 +1,24 @@ +import type { GenericGamePlaylog } from "./generalTypes"; + +export interface OngekiUserSummaryEntry { + name: string + iconId: number + serverRank: number + accuracy: number + rating: number + ratingHighest: number + ranks: { name: string, count: number }[] + maxCombo: number + fullCombo: number + allPerfect: number + totalDxScore: number + plays: number + totalPlayTime: number + joined: string + lastSeen: string + lastVersion: string + best30: string + best15: string + recent10: string + recent: GenericGamePlaylog[] +} diff --git a/AquaNet/src/pages/UserHome.svelte b/AquaNet/src/pages/UserHome.svelte index 26672453..b94fe552 100644 --- a/AquaNet/src/pages/UserHome.svelte +++ b/AquaNet/src/pages/UserHome.svelte @@ -231,6 +231,19 @@
+ {#if d.user.ratingComposition.best30} +
+

B30

+
+ {#each d.user.ratingComposition.best30.split(",") as map} +
+ +
+ {/each} +
+
+ {/if} + {#if d.user.ratingComposition.best35}

B35

@@ -257,6 +270,19 @@
{/if} + {#if d.user.ratingComposition.recent10} +
+

R10

+
+ {#each d.user.ratingComposition.recent10.split(",") as map} +
+ +
+ {/each} +
+
+ {/if} +

{t('UserHome.RecentScores')}

@@ -550,4 +576,10 @@ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) gap: $gap +.rating-composition-2 + display: grid + // 2 columns + grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) + gap: $gap + diff --git a/src/main/java/icu/samnyan/aqua/net/games/ongeki/Ongeki.kt b/src/main/java/icu/samnyan/aqua/net/games/ongeki/Ongeki.kt index 1beaadaf..d248951a 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/ongeki/Ongeki.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/ongeki/Ongeki.kt @@ -29,11 +29,15 @@ class Ongeki( ) } override suspend fun userSummary(username: String) = us.cardByName(username) { card -> -// val extra = userGeneralDataRepository.findByUser_Card_ExtId(u.ghostCard.extId) -// .associate { it.propertyKey to it.propertyValue } + val extra = userGeneralDataRepository.findByUser_Card_ExtId(card.extId) + .associate { it.propertyKey to it.propertyValue } - // TODO: Rating composition + val ratingComposition = mapOf( + "best30" to (extra["rating_base_best"] ?: ""), + "best15" to (extra["rating_base_new_best"] ?: ""), + "recent10" to (extra["rating_base_hot_best"] ?: "") + ) - genericUserSummary(card, mapOf()) + genericUserSummary(card, ratingComposition) } } \ No newline at end of file