Merge branch 'main' into data-driven

This commit is contained in:
tresabhi committed 2026-10-04 16:33:53 -05:00
commit 6ebb2810ad
37 files changed
+1404 -350

No files matched your search

@@ -352,6 +352,15 @@ export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
const tankClass =
this.blitzTankClassToBlitzkit[blitzTankClass as BlitzTankClass];
const canonicalFullName = this.getString(tank.userString);
const name =
(tank.shortUserString
? this.getString(tank.shortUserString)
: undefined) ?? canonicalFullName;
// only supply full name if it's different from the displayed short name to save some bytes
const name_full =
name === canonicalFullName ? undefined : canonicalFullName;
tankDefinitions.tanks[tankId] = {
ancestors: [],
successors: [],
@@ -369,10 +378,8 @@ export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
typeof equipment === "string" ? equipment : equipment.at(-1)!,
max_consumables: tankDefinition.root.consumableSlots,
max_provisions: tankDefinition.root.provisionSlots,
name:
(tank.shortUserString
? this.getString(tank.shortUserString)
: undefined) ?? this.getString(tank.userString),
name,
name_full,
slug,
nation,
type: tankTags.includes("collectible")
+11 -2
View File
@@ -1,9 +1,9 @@
import { BlitzKitAPI } from "@blitzkit/core/src/blitzkit/api/base";
import locales from "@blitzkit/i18n/locales.json";
import { I18nString } from "@blitzkit/protos";
import { deburr, times } from "lodash-es";
import { AbstractBlitzKitAPI } from "./api";
export async function fetchTankNames(api: BlitzKitAPI) {
export async function fetchTankNames(api: AbstractBlitzKitAPI) {
const [tankDefinitions, camouflageDefinitions] = await Promise.all([
api.tanks(),
api.camouflages(),
@@ -30,6 +30,15 @@ export async function fetchTankNames(api: BlitzKitAPI) {
});
});
const searchableNameFull: I18nString = {
locales: { ...(tank.name_full?.locales ?? tank.name!.locales) },
};
const searchableNameFullDeburr: I18nString = { locales: {} };
Object.entries(searchableNameFull.locales).forEach(([key, value]) => {
searchableNameFullDeburr.locales[key] = deburr(value);
});
return {
id: tank.id,
slug: tank.slug,