From 25e6b6b2dd0571c59692217af5fd593930103d53 Mon Sep 17 00:00:00 2001 From: Stedoss <29103029+Stedoss@users.noreply.github.com> Date: Tue, 11 Mar 2025 17:22:25 +0000 Subject: [PATCH] Add min and max rank filters to `suspicious-scores` --- nise-frontend/src/app/replays.ts | 1 + .../view-suspicious-scores.component.html | 14 ++++++++++++++ .../view-suspicious-scores.component.ts | 10 +++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/nise-frontend/src/app/replays.ts b/nise-frontend/src/app/replays.ts index 13a22c0..e1eb2b8 100644 --- a/nise-frontend/src/app/replays.ts +++ b/nise-frontend/src/app/replays.ts @@ -157,6 +157,7 @@ export interface SuspiciousScore { pp: number; frametime: number; ur: number; + leaderboard_rank: number; } export interface SimilarReplay { diff --git a/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.html b/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.html index 1a994d9..1ae7d3b 100644 --- a/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.html +++ b/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.html @@ -52,6 +52,20 @@

+ + +

+ + +

+ + +

+ + +

diff --git a/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.ts b/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.ts index efa069a..550c7f1 100644 --- a/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.ts +++ b/nise-frontend/src/app/view-suspicious-scores/view-suspicious-scores.component.ts @@ -19,6 +19,9 @@ export interface SuspiciousScoresFilter { searchUsername?: string; searchBeatmap?: string; + + minRank?: number; + maxRank?: number; } @Component({ @@ -152,7 +155,12 @@ export class ViewSuspiciousScoresComponent implements OnInit, OnDestroy { const urMatch = (filters.minUR == null || score.ur >= filters.minUR) && (filters.maxUR == null || score.ur <= filters.maxUR); - return usernameMatch && beatmapMatch && ppMatch && urMatch; + const scoreHasRank = score.leaderboard_rank > 0; + + const rankMatch = (filters.minRank == null || (score.leaderboard_rank <= filters.minRank && scoreHasRank)) && + (filters.maxRank == null || score.leaderboard_rank >= filters.maxRank && scoreHasRank); + + return usernameMatch && beatmapMatch && ppMatch && urMatch && rankMatch; }); // Presumably persists the current state of filters for future sessions