diff --git a/packages/website/src/components/MixerScene/components/Model.tsx b/packages/website/src/components/MixerScene/components/Model.tsx index 0bfb2e1cb..85d9c04af 100644 --- a/packages/website/src/components/MixerScene/components/Model.tsx +++ b/packages/website/src/components/MixerScene/components/Model.tsx @@ -2,7 +2,7 @@ import { useThree, type ThreeEvent } from "@react-three/fiber"; import type { QuicklimeEvent } from "quicklime"; import { useCallback, useEffect, useRef } from "react"; import { Group, Vector2 } from "three"; -import { awaitableModelDefinitions } from "../../../core/awaitables/modelDefinitions"; +import { api } from "../../../core/blitzkit/api"; import { jsxTree } from "../../../core/blitzkit/jsxTree"; import { modelTransformEvent, @@ -12,7 +12,7 @@ import { controlsEnabledEvent } from "../../../core/controlsEnabled"; import { useModel } from "../../../hooks/useModel"; import { Mixer } from "../../../stores/mixer"; -const modelDefinitions = await awaitableModelDefinitions; +const modelDefinitions = await api.modelDefinitions(); export function Model() { const canvas = useThree((state) => state.gl.domElement); diff --git a/packages/website/src/core/blitzkit/curateMixer.ts b/packages/website/src/core/blitzkit/curateMixer.ts index 021c296a3..0782efd49 100644 --- a/packages/website/src/core/blitzkit/curateMixer.ts +++ b/packages/website/src/core/blitzkit/curateMixer.ts @@ -1,8 +1,8 @@ -import { awaitableModelDefinitions } from "../awaitables/modelDefinitions"; -import { awaitableTankDefinitions } from "../awaitables/tankDefinitions"; +import { api } from "./api"; + +const tankDefinitions = await api.tankDefinitions(); +const modelDefinitions = await api.modelDefinitions(); -const tankDefinitions = await awaitableTankDefinitions; -const modelDefinitions = await awaitableModelDefinitions; const tanks = Object.values(tankDefinitions.tanks).filter((tank) => { const tankModel = modelDefinitions.models[tank.id]; const turret = tank.turrets.at(-1)!; diff --git a/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/_index.tsx b/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/_index.tsx index a0d414198..caabc2184 100644 --- a/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/_index.tsx +++ b/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/_index.tsx @@ -1,5 +1,4 @@ import { - asset, GunDefinition, TankDefinition, TIER_ROMAN_NUMERALS, @@ -19,27 +18,26 @@ import { type ButtonProps, } from "@radix-ui/themes"; import { useRef, useState } from "react"; -import { MixerScene } from "../../../components/MixerScene"; -import { ModuleButton } from "../../../components/ModuleButtons/ModuleButton"; -import { PageWrapper } from "../../../components/PageWrapper"; -import { ScreenshotButton } from "../../../components/ScreenshotButton"; -import { TankSearch } from "../../../components/TankSearch"; -import { awaitableModelDefinitions } from "../../../core/awaitables/modelDefinitions"; -import { awaitableTankDefinitions } from "../../../core/awaitables/tankDefinitions"; -import { curateMixer } from "../../../core/blitzkit/curateMixer"; +import { MixerScene } from "../../../../components/MixerScene"; +import { ModuleButton } from "../../../../components/ModuleButtons/ModuleButton"; +import { PageWrapper } from "../../../../components/PageWrapper"; +import { ScreenshotButton } from "../../../../components/ScreenshotButton"; +import { TankSearch } from "../../../../components/TankSearch"; +import { api } from "../../../../core/blitzkit/api"; +import { curateMixer } from "../../../../core/blitzkit/curateMixer"; import { LocaleProvider, useLocale, type LocaleAcceptorProps, -} from "../../../hooks/useLocale"; -import { Mixer } from "../../../stores/mixer"; -import { Tankopedia } from "../../../stores/tankopedia"; -import type { MaybeSkeletonComponentProps } from "../../../types/maybeSkeletonComponentProps"; +} from "../../../../hooks/useLocale"; +import { Mixer } from "../../../../stores/mixer"; +import { Tankopedia } from "../../../../stores/tankopedia"; +import type { MaybeSkeletonComponentProps } from "../../../../types/maybeSkeletonComponentProps"; -const modelDefinition = await awaitableModelDefinitions.then( - ({ models }) => models[1] -); -const tankDefinitions = await awaitableTankDefinitions; +const modelDefinition = await api + .modelDefinitions() + .then(({ models }) => models[1]); +const tankDefinitions = await api.tankDefinitions(); export function Page({ locale, @@ -65,7 +63,7 @@ type ModuleButtonProps = Omit & onSelect: ( tank: TankDefinition, turret?: TurretDefinition, - gun?: GunDefinition + gun?: GunDefinition, ) => void; turret?: number; gun?: number; @@ -112,7 +110,7 @@ function ModuleChooser({ height: "4em", objectFit: "contain", }} - src={asset(`icons/tanks/big/${tank}.webp`)} + src={`/api/tanks/${tank}/icons/big.webp`} /> )} diff --git a/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/index.astro b/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/index.astro index 70e118121..b1ea0989f 100644 --- a/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/index.astro +++ b/packages/website/src/pages/[...chunk_default]/[...locale]/mixer/index.astro @@ -1,7 +1,7 @@ --- -import ToolOpenGraph from "../../../components/ToolOpenGraph.astro"; -import { tools } from "../../../constants/tools"; -import BaseLayout from "../../../layouts/BaseLayout.astro"; +import ToolOpenGraph from "../../../../components/ToolOpenGraph.astro"; +import { tools } from "../../../../constants/tools"; +import BaseLayout from "../../../../layouts/BaseLayout.astro"; import { Page } from "./_index"; export { getStaticPaths } from "../index.astro";