[+] Setting of score rounding and fix bugs

This commit is contained in:
Clansty
2024-08-08 14:49:20 +08:00
parent d0aecc76ed
commit a6a8734599
9 changed files with 106 additions and 8 deletions

View File

@@ -2,12 +2,14 @@
import { DATA_HOST } from "../libs/config";
import { getMaimai, getMaimaiAllMusic } from "../libs/maimai";
import type { ParsedRating, Rating } from "../libs/maimaiTypes";
import { getMult } from "../libs/scoring";
import { getMult, roundFloor } from "../libs/scoring";
import StatusOverlays from "../components/StatusOverlays.svelte";
import useLocalStorage from "../libs/hooks/useLocalStorage.svelte";
export let userId: any
userId = +userId
let error: string | null;
const rounding = useLocalStorage("rounding", true);
if (!userId) console.error("No user ID provided")
@@ -80,7 +82,13 @@
<div class="detail">
<span class="name">{rating.music.name}</span>
<span class="rating">
<span>{(rating.achievement / 10000).toFixed(2)}%</span>
<span>
{
rounding.value ?
roundFloor(rating.achievement, 'mai2', 1) :
(rating.achievement / 10000).toFixed(4)
}%
</span>
<img class="rank" src={`${DATA_HOST}/maimai/sprites/rankimage/UI_GAM_Rank_${rating.rank}.png`} alt="">
</span>
<span>{rating.calc.toFixed(1)}</span>

View File

@@ -22,6 +22,7 @@
import { GAME_TITLE, t } from "../libs/i18n";
import RankDetails from "../components/RankDetails.svelte";
import RatingComposition from "../components/RatingComposition.svelte";
import useLocalStorage from "../libs/hooks/useLocalStorage.svelte";
const TREND_DAYS = 60
@@ -33,6 +34,7 @@
let error: string;
let me: AquaNetUser
title(`User ${username}`)
const rounding = useLocalStorage("rounding", true);
const titleText = GAME_TITLE[game]
@@ -268,7 +270,11 @@
<span class={`rank-${getMult(r.achievement, game)[2].toString()[0]}`}>
<span class="rank-text">{("" + getMult(r.achievement, game)[2]).replace("p", "+")}</span>
<span class="rank-num" use:tooltip={(r.achievement / 10000).toFixed(4)}>
{roundFloor(r.achievement, game, 1)}%
{
rounding.value ?
roundFloor(r.achievement, game, 1) :
(r.achievement / 10000).toFixed(4)
}%
</span>
</span>
{#if game === 'mai2' || game === 'wacca'}