Fix leaderboards crash

This commit is contained in:
Kalle
2023-08-13 15:08:22 +03:00
parent 1d07ebc5e0
commit 37dedb0720
2 changed files with 7 additions and 4 deletions

View File

@@ -24,8 +24,8 @@ export function addTiers(entries: UserSPLeaderboardItem[]) {
});
}
export function addWeapons(
entries: ReturnType<typeof addTiers>,
export function addWeapons<T extends { id: number }>(
entries: T[],
weapons: SeasonPopularUsersWeapon
) {
return entries.map((entry) => {

View File

@@ -41,7 +41,7 @@ import {
type RankedModeShort,
} from "~/modules/in-game-lists";
import { rankedModesShort } from "~/modules/in-game-lists/modes";
import { allSeasons } from "~/features/mmr/season";
import { allSeasons, currentSeason } from "~/features/mmr/season";
import {
addPlacementRank,
addTiers,
@@ -103,7 +103,10 @@ export const loader = async ({ request }: LoaderArgs) => {
// eslint-disable-next-line @typescript-eslint/require-await
async getFreshValue() {
const leaderboard = userSPLeaderboard(0);
const withTiers = addTiers(leaderboard);
// TODO: handle viewing during off-season
const withTiers = currentSeason(new Date())
? addTiers(leaderboard)
: leaderboard.map((e) => ({ ...e, tier: undefined }));
return addWeapons(withTiers, seasonPopularUsersWeapon(0));
},