Add min and max rank filters to suspicious-scores

This commit is contained in:
Stedoss 2025-03-11 17:22:25 +00:00
parent 73b002c7c7
commit 25e6b6b2dd
3 changed files with 24 additions and 1 deletions

View File

@ -157,6 +157,7 @@ export interface SuspiciousScore {
pp: number;
frametime: number;
ur: number;
leaderboard_rank: number;
}
export interface SimilarReplay {

View File

@ -52,6 +52,20 @@
<input class="form-control" type="text" id="searchBeatmap" [(ngModel)]="this.filterManager.filters.searchBeatmap" (input)="filterScores()"
[readOnly]="this.isUrlFilters" [disabled]="this.isUrlFilters">
</p>
<!-- Min Rank -->
<p>
<label for="minRank" class="form-label">Min Rank</label>
<input class="form-control" type="number" id="minRank" [(ngModel)]="this.filterManager.filters.minRank" (input)="filterScores()"
[readOnly]="this.isUrlFilters" [disabled]="this.isUrlFilters">
</p>
<!-- Max Rank -->
<p>
<label for="maxRank" class="form-label">Max Rank</label>
<input class="form-control" type="number" id="maxRank" [(ngModel)]="this.filterManager.filters.maxRank" (input)="filterScores()"
[readOnly]="this.isUrlFilters" [disabled]="this.isUrlFilters">
</p>
</fieldset>
<div *ngIf="getTotalPages() > 1" style="padding: 20px">

View File

@ -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