Add leaderboard_rank filters to similar-replays screen
This commit is contained in:
parent
f798a791bf
commit
3a73942602
@ -170,6 +170,8 @@ export interface SimilarReplay {
|
||||
replay_date_2: string;
|
||||
replay_pp_1: number;
|
||||
replay_pp_2: number;
|
||||
replay_leaderboard_rank_1: number;
|
||||
replay_leaderboard_rank_2: number;
|
||||
beatmap_id: number;
|
||||
beatmap_title: string;
|
||||
beatmap_star_rating: number;
|
||||
|
||||
@ -51,6 +51,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 (of stolen)</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 (of stolen)</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">
|
||||
|
||||
@ -19,6 +19,9 @@ export interface FilterStolenReplays {
|
||||
|
||||
minSimilarity?: number;
|
||||
maxSimilarity?: number;
|
||||
|
||||
minRank?: number;
|
||||
maxRank?: number;
|
||||
}
|
||||
|
||||
@Component({
|
||||
@ -133,7 +136,12 @@ export class ViewSimilarReplaysComponent implements OnInit {
|
||||
const similarityMatch = (filters.minSimilarity !== undefined ? score.similarity >= filters.minSimilarity : true) &&
|
||||
(filters.maxSimilarity !== undefined ? score.similarity <= filters.maxSimilarity : true);
|
||||
|
||||
return usernameMatch && beatmapMatch && ppMatch && similarityMatch;
|
||||
const scoreHasRank = score.replay_leaderboard_rank_2 > 0;
|
||||
|
||||
const rankMatch = (filters.minRank == null || (score.replay_leaderboard_rank_2 <= filters.minRank && scoreHasRank)) &&
|
||||
(filters.maxRank == null || score.replay_leaderboard_rank_2 >= filters.maxRank && scoreHasRank);
|
||||
|
||||
return usernameMatch && beatmapMatch && ppMatch && similarityMatch && rankMatch;
|
||||
});
|
||||
|
||||
this.filterManager.persistToLocalStorage();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user