fix: deleted clan handling

This commit is contained in:
TrèsAbhi committed 2023-11-07 17:24:51 -06:00
1 parent 6f784e9e94
commit 9e340d2e16
1 file changed
+12 -14
+12 -14
View File
@@ -29,27 +29,26 @@ import { getAccountInfo } from '../../../core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../core/blitz/getClanAccountInfo';
import getRatingsInfo from '../../../core/blitz/getRatingsInfo'; import getRatingsInfo from '../../../core/blitz/getRatingsInfo';
import { AccountList } from '../../../core/blitz/searchPlayersAcrossRegions'; import { AccountList } from '../../../core/blitz/searchPlayersAcrossRegions';
import { getArchivedLatestSeasonNumber } from '../../../core/blitzkrieg/getArchivedLatestSeasonNumber';
import getArchivedRatingsInfo from '../../../core/blitzkrieg/getArchivedRatingsInfo'; import getArchivedRatingsInfo from '../../../core/blitzkrieg/getArchivedRatingsInfo';
import { getArchivedRatingsLeaderboard } from '../../../core/blitzkrieg/getArchivedRatingsLeaderboard'; import { getArchivedRatingsLeaderboard } from '../../../core/blitzkrieg/getArchivedRatingsLeaderboard';
import { numberFetcher } from '../../../core/blitzkrieg/numberFetcher';
import { noArrows } from './page.css'; import { noArrows } from './page.css';
const ROWS_OPTIONS = [5, 10, 25, 50, 100]; const ROWS_OPTIONS = [5, 10, 25, 50, 100];
type UsernameCache = Record<Region, Record<number, string | null>>; type UsernameCache = Record<Region, Record<number, string | null>>;
type ClanCache = Record<Region, Record<number, string | undefined>>;
const useUsernameCache = create<UsernameCache>(() => ({ const useUsernameCache = create<UsernameCache>(() => ({
asia: {}, asia: {},
com: {}, com: {},
eu: {}, eu: {},
})); }));
const useClanCache = create<Record<Region, Record<number, string | undefined>>>( const useClanCache = create<ClanCache>(() => ({
() => ({ asia: {},
asia: {}, com: {},
com: {}, eu: {},
eu: {}, }));
}),
);
export default function Page() { export default function Page() {
const [rowsPerPage, setRowsPerPage] = useState(ROWS_OPTIONS[2]); const [rowsPerPage, setRowsPerPage] = useState(ROWS_OPTIONS[2]);
@@ -67,8 +66,8 @@ export default function Page() {
); );
const [jumpToLeague, setJumpToLeague] = useState(0); const [jumpToLeague, setJumpToLeague] = useState(0);
const { data: latestArchivedSeasonNumber } = useSWR<number>( const { data: latestArchivedSeasonNumber } = useSWR<number>(
'/api/ratings/latest-archived-season-number', getArchivedLatestSeasonNumber.name,
numberFetcher, getArchivedLatestSeasonNumber,
); );
const players = useSWR(`ratings-players-${region}-${season}`, () => { const players = useSWR(`ratings-players-${region}-${season}`, () => {
if (season === null) { if (season === null) {
@@ -148,12 +147,11 @@ export default function Page() {
}); });
getClanAccountInfo(region, ids, ['clan']).then((data) => { getClanAccountInfo(region, ids, ['clan']).then((data) => {
data.map((player) => { data.map((player, index) => {
useClanCache.setState( useClanCache.setState(
produce((draft) => { produce((draft: ClanCache) => {
if (player) { if (player) {
draft[region][player.account_id] = draft[region][ids[index]] = player.clan?.tag;
player.clan?.tag ?? undefined;
} }
}), }),
); );