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 @@
+
+
+
+
+
+
+
+
+
+
+
+
1" style="padding: 20px">
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