From fb2b72875fd2f17aa0b6aa0c2e58f8debaf36f3c Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 5 Nov 2023 22:30:33 +0000 Subject: [PATCH] feat(overlay): add rank colors to score stats --- src/components/overlay/ScoreStats.tsx | 10 +++++++++- src/utils/songUtils.ts | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/components/overlay/ScoreStats.tsx b/src/components/overlay/ScoreStats.tsx index 879df3d..7505707 100644 --- a/src/components/overlay/ScoreStats.tsx +++ b/src/components/overlay/ScoreStats.tsx @@ -1,5 +1,6 @@ import { useOverlayDataStore } from "@/store/overlayDataStore"; import { formatNumber } from "@/utils/numberUtils"; +import { accuracyToColor } from "@/utils/songUtils"; import useStore from "@/utils/useStore"; export default function ScoreStats() { @@ -13,7 +14,14 @@ export default function ScoreStats() {

{formatNumber(scoreStats.score)}

Combo: {formatNumber(scoreStats.combo)}x

- {scoreStats.rank} {scoreStats.accuracy.toFixed(2)}% + + {scoreStats.accuracy == 100 ? "SS" : scoreStats.rank} + {" "} + {scoreStats.accuracy.toFixed(2)}%

); diff --git a/src/utils/songUtils.ts b/src/utils/songUtils.ts index 74b7927..ea624fb 100644 --- a/src/utils/songUtils.ts +++ b/src/utils/songUtils.ts @@ -15,6 +15,20 @@ export function songDifficultyToColor(diff: string) { } } +export function accuracyToColor(acc: number) { + if (acc >= 90) { + return "rgb(0, 255, 255)"; + } else if (acc >= 80) { + return "rgb(255, 255, 255)"; + } else if (acc >= 70) { + return "rgb(0, 255, 0)"; + } else if (acc >= 60) { + return "rgb(255, 235, 4)"; + } else { + return "rgb(255, 0, 0)"; + } +} + export function scoresaberDifficultyNumberToName( diff: number, shortened: boolean = false,