From d2041d0ee61dec075ca6619ddab2e2e39a73348f Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:05:31 -0500 Subject: [PATCH] update tier list --- .../src/components/TierList/Row/index.tsx | 16 ++++++++-------- .../website/src/components/TierList/Tiles.tsx | 13 ++++++------- .../src/components/TierList/URLManager.tsx | 16 ++++++++-------- .../[...locale]/tier-list/_index.tsx | 14 +++++++------- .../[...locale]/tier-list/index.astro | 4 ++-- 5 files changed, 31 insertions(+), 32 deletions(-) diff --git a/packages/website/src/components/TierList/Row/index.tsx b/packages/website/src/components/TierList/Row/index.tsx index 17244ee36..107251a93 100644 --- a/packages/website/src/components/TierList/Row/index.tsx +++ b/packages/website/src/components/TierList/Row/index.tsx @@ -1,16 +1,16 @@ -import { Flex, Table } from '@radix-ui/themes'; -import { useEffect, useRef } from 'react'; -import { awaitableTankDefinitions } from '../../../core/awaitables/tankDefinitions'; -import { TierList } from '../../../stores/tierList'; -import { tierListRowElements } from '../Table/constants'; -import { TierListTile } from '../Tile'; -import { Header } from './components/Header'; +import { Flex, Table } from "@radix-ui/themes"; +import { useEffect, useRef } from "react"; +import { api } from "../../../core/blitzkit/api"; +import { TierList } from "../../../stores/tierList"; +import { tierListRowElements } from "../Table/constants"; +import { TierListTile } from "../Tile"; +import { Header } from "./components/Header"; interface TierListRowProps { index: number; } -const tankDefinitions = await awaitableTankDefinitions; +const tankDefinitions = await api.tankDefinitions(); export function TierListRow({ index }: TierListRowProps) { const tanks = TierList.use((state) => state.rows[index].tanks); diff --git a/packages/website/src/components/TierList/Tiles.tsx b/packages/website/src/components/TierList/Tiles.tsx index 45a7d16a8..1dabc0123 100644 --- a/packages/website/src/components/TierList/Tiles.tsx +++ b/packages/website/src/components/TierList/Tiles.tsx @@ -2,8 +2,7 @@ import { metaSortTank } from "@blitzkit/core"; import { times } from "lodash-es"; import { useMemo, useState } from "react"; import usePromise from "react-promise-suspense"; -import { awaitableGameDefinitions } from "../../core/awaitables/gameDefinitions"; -import { awaitableTankDefinitions } from "../../core/awaitables/tankDefinitions"; +import { api } from "../../core/blitzkit/api"; import { filterTanks } from "../../core/blitzkit/filterTanks"; import { TankFilters } from "../../stores/tankFilters"; import { TierList } from "../../stores/tierList"; @@ -12,8 +11,8 @@ import { TankCardWrapper } from "../TankSearch/components/TankCardWrapper"; import { TierListTile } from "./Tile"; const [tankDefinitions, gameDefinitions] = await Promise.all([ - awaitableTankDefinitions, - awaitableGameDefinitions, + api.tankDefinitions(), + api.gameDefinitions(), ]); const tanks = Object.values(tankDefinitions.tanks); @@ -27,14 +26,14 @@ export function TierListTiles() { const filteredTanks = usePromise( () => filterTanks(filters, tanks).then((tanks) => - tanks.filter(({ id }) => !placedTanks.has(id)) + tanks.filter(({ id }) => !placedTanks.has(id)), ), // react-promise-suspense has awful type annotations - [filters, placedTanks] as any + [filters, placedTanks] as any, ); const sorted = useMemo( () => metaSortTank(filteredTanks, gameDefinitions).reverse(), - [filters, placedTanks] + [filters, placedTanks], ); const [loadedTiles, setLoadedTiles] = useState(DEFAULT_LOADED_CARDS); diff --git a/packages/website/src/components/TierList/URLManager.tsx b/packages/website/src/components/TierList/URLManager.tsx index f861b535c..33693b317 100644 --- a/packages/website/src/components/TierList/URLManager.tsx +++ b/packages/website/src/components/TierList/URLManager.tsx @@ -1,9 +1,9 @@ -import { useEffect } from 'react'; -import { awaitableTankDefinitions } from '../../core/awaitables/tankDefinitions'; -import { generateTierListParams } from '../../core/blitzkit/generateTierListParams'; -import { TierList } from '../../stores/tierList'; +import { useEffect } from "react"; +import { api } from "../../core/blitzkit/api"; +import { generateTierListParams } from "../../core/blitzkit/generateTierListParams"; +import { TierList } from "../../stores/tierList"; -const tankDefinitions = await awaitableTankDefinitions; +const tankDefinitions = await api.tankDefinitions(); export function URLManager() { const rows = TierList.use((state) => state.rows); @@ -12,10 +12,10 @@ export function URLManager() { const params = new URLSearchParams(window.location.search); params.forEach((value, key) => { - if (key.startsWith('row-')) { + if (key.startsWith("row-")) { const index = Number.parseInt(key.slice(4), 10); const values = value - .split(',') + .split(",") .map(Number) .filter((id) => id in tankDefinitions.tanks); @@ -27,7 +27,7 @@ export function URLManager() { }, []); useEffect(() => { - window.history.replaceState(null, '', `?${generateTierListParams(rows)}`); + window.history.replaceState(null, "", `?${generateTierListParams(rows)}`); }, [rows]); return null; diff --git a/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/_index.tsx b/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/_index.tsx index 37429bd3c..fb136c43b 100644 --- a/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/_index.tsx +++ b/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/_index.tsx @@ -1,13 +1,13 @@ -import { PageWrapper } from "../../../components/PageWrapper"; -import { FilterControl } from "../../../components/TankSearch/components/FilterControl"; -import { TierListControls } from "../../../components/TierList/Controls"; -import { TierListTable } from "../../../components/TierList/Table"; -import { TierListTiles } from "../../../components/TierList/Tiles"; -import { URLManager } from "../../../components/TierList/URLManager"; +import { PageWrapper } from "../../../../components/PageWrapper"; +import { FilterControl } from "../../../../components/TankSearch/components/FilterControl"; +import { TierListControls } from "../../../../components/TierList/Controls"; +import { TierListTable } from "../../../../components/TierList/Table"; +import { TierListTiles } from "../../../../components/TierList/Tiles"; +import { URLManager } from "../../../../components/TierList/URLManager"; import { LocaleProvider, type LocaleAcceptorProps, -} from "../../../hooks/useLocale"; +} from "../../../../hooks/useLocale"; export function Page({ locale }: LocaleAcceptorProps) { return ( diff --git a/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/index.astro b/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/index.astro index cc9598883..cd30d4053 100644 --- a/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/index.astro +++ b/packages/website/src/pages/[...chunk_default]/[...locale]/tier-list/index.astro @@ -1,6 +1,6 @@ --- -import { tools } from "../../../constants/tools"; -import ToolLayout from "../../../layouts/ToolLayout.astro"; +import { tools } from "../../../../constants/tools"; +import ToolLayout from "../../../../layouts/ToolLayout.astro"; import { Page } from "./_index"; export { getStaticPaths } from "../index.astro";