[bugfix] proper filter for leaderboard/ranking

* use leaderboard query param with beatsaver
* fixed issue where blRanked is not showing on mapItem components
This commit is contained in:
silentrald
2024-10-19 00:27:27 +08:00
parent 2e3febf66a
commit c8003a8ae8
11 changed files with 101 additions and 17 deletions
@@ -1,5 +1,5 @@
import { BsvMapDetail } from "shared/models/maps";
import { BsvPlaylistPage, MapFilter, PlaylistSearchParams, PlaylistSearchResponse, SearchParams, SearchResponse } from "shared/models/maps/beat-saver.model";
import { BsvPlaylistPage, MapFilter, MapLeaderboard, PlaylistSearchParams, PlaylistSearchResponse, SearchParams, SearchResponse } from "shared/models/maps/beat-saver.model";
import { RequestService } from "../../request.service";
import { CustomError } from "shared/models/exceptions/custom-error.class";
@@ -32,6 +32,10 @@ export class BeatSaverApiService {
return new URLSearchParams();
}
if (!filter.leaderboard) {
filter.leaderboard = MapLeaderboard.All;
}
const enbledTagsString = filter.enabledTags ? Array.from(filter.enabledTags) : null;
const excludedTagsString = filter.excludedTags ? Array.from(filter.excludedTags).map(tag => `!${tag}`) : null;