diff --git a/packages/website-ue/src/components/ToolCard.astro b/packages/website-ue/src/components/ToolCard.astro index 55a3215e7..6e16a5aac 100644 --- a/packages/website-ue/src/components/ToolCard.astro +++ b/packages/website-ue/src/components/ToolCard.astro @@ -43,10 +43,6 @@ const toolStrings = strings.tools[tool.id as keyof typeof strings.tools]; background-size: cover; background-position: center; - :root.light & { - filter: brightness(1.25); - } - .gradient { width: 100%; height: 100%; @@ -62,10 +58,6 @@ const toolStrings = strings.tools[tool.id as keyof typeof strings.tools]; backdrop-filter: blur(var(--space-6)); - :root.light & { - backdrop-filter: blur(var(--space-6)) brightness(1.25); - } - .readable { display: flex; flex-direction: column; diff --git a/packages/website-ue/src/core/api/client.ts b/packages/website-ue/src/core/api/client.ts index 042d36a61..7cb66164b 100644 --- a/packages/website-ue/src/core/api/client.ts +++ b/packages/website-ue/src/core/api/client.ts @@ -2,8 +2,8 @@ import { fetchPB } from "@blitzkit/core"; import type { Strings } from "@blitzkit/i18n"; import { Avatars } from "@protos/blitzkit/avatars"; import { PopularTanks } from "@protos/blitzkit/popular_tanks"; -import { Tank } from "@protos/blitzkit/tank"; import { TankList } from "@protos/blitzkit/tank_list"; +import { Tanks } from "@protos/blitzkit/tanks"; import { AbstractAPI, Cache } from "./abstract"; const rejected = Promise.reject("Not implemented on client"); @@ -15,13 +15,14 @@ export class ClientAPI extends AbstractAPI { } @Cache() - tank(id: string) { - return fetchPB(`/api/tanks/${id}.pb`, Tank); + async tank(id: string) { + const tanks = await this.tanks(); + return tanks.tanks[id]; } - @UnimplementedOnClient + @Cache() tanks() { - return rejected; + return fetchPB("/api/tanks/all.pb", Tanks); } @Cache() diff --git a/packages/website-ue/src/pages/api/tanks/[id].json.ts b/packages/website-ue/src/pages/api/tanks/[id].json.ts index 326f97c49..60c66a943 100644 --- a/packages/website-ue/src/pages/api/tanks/[id].json.ts +++ b/packages/website-ue/src/pages/api/tanks/[id].json.ts @@ -1,7 +1,10 @@ -import type { APIContext } from "astro"; +import type { APIContext, GetStaticPaths } from "astro"; import { api } from "../../../core/api/dynamic"; -export { getStaticPaths } from "./[id].pb"; +export const getStaticPaths = (async () => { + const { list } = await api.tankList(); + return list.map(({ id }) => ({ params: { id } })); +}) satisfies GetStaticPaths; /** * Even Noah can't save these animals. diff --git a/packages/website-ue/src/pages/api/tanks/[id].pb.ts b/packages/website-ue/src/pages/api/tanks/[id].pb.ts deleted file mode 100644 index dd1d3ef79..000000000 --- a/packages/website-ue/src/pages/api/tanks/[id].pb.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Tank } from "@protos/blitzkit/tank"; -import type { APIContext, GetStaticPaths } from "astro"; -import { api } from "../../../core/api/dynamic"; - -export const getStaticPaths = (async () => { - const { list } = await api.tankList(); - return list.map(({ id }) => ({ params: { id } })); -}) satisfies GetStaticPaths; - -/** - * Even Noah can't save these animals. - */ -export async function GET({ params }: APIContext) { - const tank = await api.tank(params.id); - return new Response(Tank.encode(tank).finish()); -} diff --git a/packages/website-ue/src/pages/api/tanks/[id].webp.ts b/packages/website-ue/src/pages/api/tanks/[id].webp.ts index ba0cfbeaa..413b6aac2 100644 --- a/packages/website-ue/src/pages/api/tanks/[id].webp.ts +++ b/packages/website-ue/src/pages/api/tanks/[id].webp.ts @@ -2,7 +2,7 @@ import type { APIContext } from "astro"; import { api } from "../../../core/api/dynamic"; import { game } from "../../../core/game/game"; -export { getStaticPaths } from "./[id].pb"; +export { getStaticPaths } from "./[id].json"; export async function GET({ params }: APIContext) { const tank = await api.tank(params.id);