This commit is contained in:
tresabhi committed 2026-09-23 16:51:09 -05:00
1 parent 19556b5fc9
commit 444705347f
13 files changed
+49 -56

No files matched your search

+2 -2
View File
@@ -1,3 +1,4 @@
import { Strings } from "@blitzkit/i18n";
import {
CamouflageDefinitions,
ConsumableDefinitions,
@@ -9,8 +10,7 @@ import {
ProvisionDefinitions,
SkillDefinitions,
TankDefinitions,
} from "@blitzkit/core";
import { Strings } from "@blitzkit/i18n";
} from "@blitzkit/protos";
import { BlitzScripts } from "../../types/blitzScripts";
export abstract class AbstractBlitzKitAPI {
@@ -1,5 +1,6 @@
import { Avatar, fetchGlossary, Gallery } from "@blitzkit/core";
import { fetchGlossary } from "@blitzkit/core";
import locales from "@blitzkit/i18n/locales.json";
import { Avatar, Gallery } from "@blitzkit/protos";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI9 } from "./9_game";
@@ -11,7 +12,7 @@ export abstract class ServerBlitzKitAPI10 extends ServerBlitzKitAPI9 {
await Promise.all(
locales.supported.map(async (supported) => {
const glossary = await fetchGlossary(
supported.blitz ?? supported.locale,
supported.variant_blitz_local ?? supported.locale,
);
console.log(
@@ -1,30 +1,32 @@
import {
AssaultRanges,
BlitzCrewType,
BlitzModuleType,
BlitzTankClass,
ChassisDefinitionsList,
Crew,
EngineDefinitionsList,
Equalizer,
GunDefinition,
GunDefinitionsList,
ModuleType,
ResearchCost,
ShellDefinitionsList,
ShellKind,
sluggify,
TankDefinitions,
TankPrice,
TankPriceType,
TankType,
toUniqueId,
TurretDefinitionsList,
Unlock,
UnlocksListing,
VehicleDefinitionList,
VehicleDefinitions,
} from "@blitzkit/core";
import {
AssaultRanges,
Crew,
Equalizer,
GunDefinition,
ModuleType,
ResearchCost,
TankDefinitions,
TankPrice,
TankPriceType,
TankType,
Unlock,
} from "@blitzkit/protos";
import { Cache, ServerBlitzKitAPI0 } from "./0_base";
export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
@@ -1,8 +1,5 @@
import {
BlitzTankFilterDefinitionCategory,
Consumable,
ConsumableDefinitions,
} from "@blitzkit/core";
import { BlitzTankFilterDefinitionCategory } from "@blitzkit/core";
import { Consumable, ConsumableDefinitions } from "@blitzkit/protos";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI5 } from "./5_equipments";
@@ -1,8 +1,5 @@
import {
BlitzTankFilterDefinitionCategory,
Provision,
ProvisionDefinitions,
} from "@blitzkit/core";
import { BlitzTankFilterDefinitionCategory } from "@blitzkit/core";
import { Provision, ProvisionDefinitions } from "@blitzkit/protos";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI6 } from "./6_consumables";
@@ -1,5 +1,6 @@
import { BlitzTankClass, SkillDefinitions } from "@blitzkit/core";
import { BlitzTankClass } from "@blitzkit/core";
import { SkillDefinitions } from "@blitzkit/protos";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI7 } from "./7_provisions";
@@ -1,5 +1,6 @@
import { AvailableNationsYaml, GameDefinitions } from "@blitzkit/core";
import { AvailableNationsYaml } from "@blitzkit/core";
import { GameDefinitions } from "@blitzkit/protos";
import { Cache } from "./0_base";
import { ServerBlitzKitAPI8 } from "./8_skills";
@@ -1,4 +1,4 @@
import { TankClass } from "@blitzkit/core";
import { TankClass } from "@blitzkit/protos";
import type { ComponentProps, ReactNode } from "react";
import { ClassHeavy } from "./components/ClassHeavy";
import { ClassLight } from "./components/ClassLight";
@@ -1,14 +1,7 @@
import {
alias,
GunDefinition,
ShellType,
TANK_CLASSES,
TANK_TYPES,
TankType,
TIER_ROMAN_NUMERALS,
} from "@blitzkit/core";
import { alias, TIER_ROMAN_NUMERALS } from "@blitzkit/core";
import { literals } from "@blitzkit/i18n";
import locales from "@blitzkit/i18n/locales.json";
import { ShellType, TankType, type GunDefinition } from "@blitzkit/protos";
import {
LockClosedIcon,
LockOpen2Icon,
@@ -1,6 +1,6 @@
import type { Consumable } from "@blitzkit/core";
import { TrashIcon } from "@radix-ui/react-icons";
import { useCompatibility } from "../../hooks/useCompatibility";
import { useTankCompatibility } from "../../hooks/useTankCompatibility";
import { useConsumables } from "../../hooks/useConsumables";
import { useProtagonist } from "../../hooks/useProtagonist";
import { useProtagonistGun } from "../../hooks/useProtagonistGun";
@@ -122,7 +122,7 @@ function Consumables({ characteristics }: ConsumablesProps) {
const consumables = useConsumables();
const tank = useProtagonist();
const gun = useProtagonistGun();
const isCompatible = useCompatibility(tank, gun);
const isCompatible = useTankCompatibility(tank, gun);
return (
<div className={styles.section}>
@@ -1,7 +1,7 @@
---
import { ArrowLeftIcon } from "@radix-ui/react-icons";
import { api } from "../api/dynamic";
import type { Tool } from "../constants/tools";
import { getStrings } from "../core/i18n/getStrings";
import { Logo } from "../icons/Logo";
import { Back } from "./Back";
import { Flex } from "./Flex";
@@ -14,9 +14,8 @@ interface Props {
}
const { tool, locale } = Astro.props;
const strings = getStrings(locale);
const toolStrings =
strings.website.tools[tool.id as keyof typeof strings.website.tools];
const strings = await api.strings(locale);
const toolStrings = strings.tools[tool.id as keyof typeof strings.tools];
---
<style>
@@ -1,7 +1,7 @@
import type { TankDefinition } from "@blitzkit/core";
import { checkConsumableProvisionInclusivity } from "@blitzkit/core/src/blitzkit/checkConsumableProvisionInclusivity";
import type { TankDefinition } from "@blitzkit/protos";
import { times } from "lodash-es";
import { api } from "../../api/dynamic";
import { isTankCompatible } from "../../hooks/useTankCompatibility";
import type { TankFilters } from "../../stores/tankFilters";
const SHELLS = times(3, (index) => index);
@@ -51,10 +51,11 @@ export async function filterTank(
filters.consumables.every((consumable) =>
tank.turrets.some((turret) =>
turret.guns.some((gun) =>
checkConsumableProvisionInclusivity(
consumableDefinitions.consumables[consumable],
isTankCompatible(
tank,
gun,
consumableDefinitions.consumables[consumable].include,
consumableDefinitions.consumables[consumable].exclude,
),
),
),
@@ -63,10 +64,11 @@ export async function filterTank(
filters.provisions.every((provision) =>
tank.turrets.some((turret) =>
turret.guns.some((gun) =>
checkConsumableProvisionInclusivity(
provisionDefinitions.provisions[provision],
isTankCompatible(
tank,
gun,
provisionDefinitions.provisions[provision].include,
provisionDefinitions.provisions[provision].exclude,
),
),
),
@@ -1,20 +1,20 @@
import {
ConsumableTankCategoryFilterCategory,
type GunDefinition,
type TankDefinition,
type TankInclusivityFilter,
} from "@blitzkit/core";
GunDefinition,
TankDefinition,
TankInclusivityFilter,
} from "@blitzkit/protos";
export function useCompatibility(tank: TankDefinition, gun: GunDefinition) {
export function useTankCompatibility(tank: TankDefinition, gun: GunDefinition) {
return function (
include?: TankInclusivityFilter[],
exclude?: TankInclusivityFilter[],
) {
return tankCompatibility(tank, gun, include, exclude);
return isTankCompatible(tank, gun, include, exclude);
};
}
function tankCompatibility(
export function isTankCompatible(
tank: TankDefinition,
gun: GunDefinition,
include?: TankInclusivityFilter[],