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