diff --git a/packages/website-ue/src/components/TankopediaCharacteristic.tsx b/packages/website-ue/src/components/TankopediaCharacteristic.tsx index 7499c7e12..de911c2a8 100644 --- a/packages/website-ue/src/components/TankopediaCharacteristic.tsx +++ b/packages/website-ue/src/components/TankopediaCharacteristic.tsx @@ -4,17 +4,23 @@ import { renderCharacteristic } from "../core/tankopedia/renderCharacteristic"; interface Props { characteristic: CharacteristicOutput; + others: CharacteristicOutput[]; config: CharacteristicRenderConfig; } -export function TankopediaCharacteristic({ characteristic, config }: Props) { +export function TankopediaCharacteristic({ + characteristic, + others, + config, +}: Props) { if (characteristic === null) return null; const rendered = renderCharacteristic(characteristic, config); return (

- {config.name}: {rendered} {config.units && `${config.units}`} (1 / 1) + {config.name}: {rendered} {config.units && `${config.units}`} (1 /{" "} + {others.length})

); } diff --git a/packages/website-ue/src/core/tankopedia/characteristics.ts b/packages/website-ue/src/core/tankopedia/characteristics.ts index 4d826b11e..20f1a987b 100644 --- a/packages/website-ue/src/core/tankopedia/characteristics.ts +++ b/packages/website-ue/src/core/tankopedia/characteristics.ts @@ -254,7 +254,7 @@ export const characteristics = { ); }, - gun_depression({ parameters }) { + gun_depression({ parameters, tank }) { return -radToDeg( applyPitchYawLimits( -Math.PI / 2, diff --git a/packages/website-ue/src/pages/tanks/[slug]/_index.tsx b/packages/website-ue/src/pages/tanks/[slug]/_index.tsx index 3c8aae6ac..fa9804d20 100644 --- a/packages/website-ue/src/pages/tanks/[slug]/_index.tsx +++ b/packages/website-ue/src/pages/tanks/[slug]/_index.tsx @@ -18,17 +18,36 @@ export function Page({ id }: { id: string }) { } function Content({ id }: { id: string }) { - const { tank, compensation } = useAwait(() => api.tank(id), `tank-${id}`); + const tank = useAwait(() => api.tank(id), `tank-${id}`); + const tankList = useAwait(() => api.tankList(), "tank-list"); const otherTanks = useAwait(() => api.tanks(), "tanks"); - Tankopedia.useInitialization(tank!); + Tankopedia.useInitialization(tank.tank!); const protagonist = Tankopedia.use((state) => state.protagonist); const compare = Tankopedia.use((state) => state.compare); - const { characteristics, parameters } = useMemo( - () => computeCharacteristics(id, tank!, compensation!, protagonist), + const characteristics = useMemo( + () => + computeCharacteristics(id, tank.tank!, tank.compensation!, protagonist), [protagonist] ); + // const otherCharacteristics = useMemo( + // () => + // tankList.list + // .filter((tank) => tank.id !== id) + // .map(({ id }) => { + // const state = { ...protagonist }; + // const tank = otherTanks.tanks[id]; + + // return computeCharacteristics( + // id, + // tank.tank!, + // tank.compensation!, + // state + // ); + // }), + // [protagonist] + // ); return ( <> @@ -37,7 +56,7 @@ function Content({ id }: { id: string }) {
- {times(tank!.upgrade_stages.length + 1, (index) => ( + {times(tank.tank!.upgrade_stages.length + 1, (index) => (