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_date_2: string;
|
||||||
replay_pp_1: number;
|
replay_pp_1: number;
|
||||||
replay_pp_2: number;
|
replay_pp_2: number;
|
||||||
|
replay_leaderboard_rank_1: number;
|
||||||
|
replay_leaderboard_rank_2: number;
|
||||||
beatmap_id: number;
|
beatmap_id: number;
|
||||||
beatmap_title: string;
|
beatmap_title: string;
|
||||||
beatmap_star_rating: number;
|
beatmap_star_rating: number;
|
||||||
|
|||||||
@ -51,6 +51,20 @@
|
|||||||
<input class="form-control" type="text" id="searchBeatmap" [(ngModel)]="this.filterManager.filters.searchBeatmap" (input)="filterScores()"
|
<input class="form-control" type="text" id="searchBeatmap" [(ngModel)]="this.filterManager.filters.searchBeatmap" (input)="filterScores()"
|
||||||
[readOnly]="this.isUrlFilters" [disabled]="this.isUrlFilters">
|
[readOnly]="this.isUrlFilters" [disabled]="this.isUrlFilters">
|
||||||
</p>
|
</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>
|
</fieldset>
|
||||||
|
|
||||||
<div *ngIf="getTotalPages() > 1" style="padding: 20px">
|
<div *ngIf="getTotalPages() > 1" style="padding: 20px">
|
||||||
|
|||||||
@ -19,6 +19,9 @@ export interface FilterStolenReplays {
|
|||||||
|
|
||||||
minSimilarity?: number;
|
minSimilarity?: number;
|
||||||
maxSimilarity?: number;
|
maxSimilarity?: number;
|
||||||
|
|
||||||
|
minRank?: number;
|
||||||
|
maxRank?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -133,7 +136,12 @@ export class ViewSimilarReplaysComponent implements OnInit {
|
|||||||
const similarityMatch = (filters.minSimilarity !== undefined ? score.similarity >= filters.minSimilarity : true) &&
|
const similarityMatch = (filters.minSimilarity !== undefined ? score.similarity >= filters.minSimilarity : true) &&
|
||||||
(filters.maxSimilarity !== undefined ? score.similarity <= filters.maxSimilarity : 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();
|
this.filterManager.persistToLocalStorage();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user