mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 18:57:03 +02:00
feat: make it compile!
This commit is contained in:
1 parent
90a64d4ccf
commit
6319e438b1
24 files changed
+138
-175
No files matched your search
@@ -55,7 +55,7 @@ function LayerEntry({
|
||||
|
||||
<Text size="2" color="gray">
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card.stats
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card.stats
|
||||
.ricochet_loss,
|
||||
[Math.max(-100, -50 * layer.distance).toFixed(0)],
|
||||
)}
|
||||
@@ -78,7 +78,7 @@ function LayerEntry({
|
||||
{literals(
|
||||
angle === undefined
|
||||
? strings.common.units.mm
|
||||
: strings.website.tools.tankopedia.sandbox.dynamic.shot_card
|
||||
: strings.website.tools.tanks.sandbox.dynamic.shot_card
|
||||
.stats.thickness_and_angle,
|
||||
[
|
||||
Math.round(layer.thicknessAngled).toLocaleString(locale),
|
||||
@@ -89,7 +89,7 @@ function LayerEntry({
|
||||
|
||||
<Text size="2" color="gray">
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card.stats
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card.stats
|
||||
.nominal,
|
||||
[Math.round(layer.thickness).toLocaleString(locale)],
|
||||
)}
|
||||
@@ -120,7 +120,7 @@ export function ShotDisplayCard({ shot, ...props }: ShotDisplayCardProps) {
|
||||
<Flex direction="column" gap="1">
|
||||
<Text color={inTitleColor} weight="bold">
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card.status[
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card.status[
|
||||
shot.in.status
|
||||
],
|
||||
[Math.round(shot.damage).toLocaleString(locale)],
|
||||
@@ -130,7 +130,7 @@ export function ShotDisplayCard({ shot, ...props }: ShotDisplayCardProps) {
|
||||
<Flex direction="column">
|
||||
{shot.in.layers.map((layer, index) => {
|
||||
const layerName =
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card
|
||||
.element[
|
||||
layer.type === ArmorType.External
|
||||
? layer.variant
|
||||
@@ -186,7 +186,7 @@ export function ShotDisplayCard({ shot, ...props }: ShotDisplayCardProps) {
|
||||
|
||||
<Text color={outTitleColor} weight="bold">
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card
|
||||
.status[shot.out.status],
|
||||
[Math.round(shot.damage).toLocaleString(locale)],
|
||||
)}
|
||||
@@ -195,7 +195,7 @@ export function ShotDisplayCard({ shot, ...props }: ShotDisplayCardProps) {
|
||||
<Flex direction="column">
|
||||
{shot.out.layers.map((layer, index) => {
|
||||
const layerName =
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.shot_card
|
||||
strings.website.tools.tanks.sandbox.dynamic.shot_card
|
||||
.element[
|
||||
layer.type === ArmorType.External
|
||||
? layer.variant
|
||||
|
||||
@@ -81,7 +81,7 @@ export function Body({ stats }: BodyProps) {
|
||||
<CompareRow stats={stats} value="dpm" decimals={0} />
|
||||
<CompareRow
|
||||
stats={stats}
|
||||
name={strings.website.tools.tankopedia.characteristics.values.reload}
|
||||
name={strings.website.tools.tanks.characteristics.values.reload}
|
||||
deltaType="lowerIsBetter"
|
||||
value={(stats) =>
|
||||
stats.shellReload ??
|
||||
|
||||
@@ -52,7 +52,7 @@ export function CompareRow({
|
||||
const id = useRef(Math.random());
|
||||
const name =
|
||||
typeof props.value === 'string'
|
||||
? strings.website.tools.tankopedia.characteristics.values[props.value]
|
||||
? strings.website.tools.tanks.characteristics.values[props.value]
|
||||
: props.name;
|
||||
|
||||
return (
|
||||
|
||||
+10
-14
@@ -23,11 +23,11 @@ export function CharacteristicsHeading() {
|
||||
direction="column"
|
||||
>
|
||||
<Heading mb="2">
|
||||
{strings.website.tools.tankopedia.characteristics.title}
|
||||
{strings.website.tools.tanks.characteristics.title}
|
||||
</Heading>
|
||||
|
||||
<Text color="gray">
|
||||
{strings.website.tools.tankopedia.characteristics.compare.label}
|
||||
{strings.website.tools.tanks.characteristics.compare.label}
|
||||
</Text>
|
||||
<SegmentedControl.Root
|
||||
size={{ initial: '1', md: '2' }}
|
||||
@@ -39,22 +39,18 @@ export function CharacteristicsHeading() {
|
||||
}}
|
||||
>
|
||||
<SegmentedControl.Item value={`${TankopediaRelativeAgainst.Class}`}>
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.characteristics.compare.class,
|
||||
[
|
||||
TIER_ROMAN_NUMERALS[tank.tier],
|
||||
strings.common.tank_class_short_plural_lowercase[tank.class],
|
||||
],
|
||||
)}
|
||||
{literals(strings.website.tools.tanks.characteristics.compare.class, [
|
||||
TIER_ROMAN_NUMERALS[tank.tier],
|
||||
strings.common.tank_class_short_plural_lowercase[tank.class],
|
||||
])}
|
||||
</SegmentedControl.Item>
|
||||
<SegmentedControl.Item value={`${TankopediaRelativeAgainst.Tier}`}>
|
||||
{literals(
|
||||
strings.website.tools.tankopedia.characteristics.compare.tier,
|
||||
[TIER_ROMAN_NUMERALS[tank.tier]],
|
||||
)}
|
||||
{literals(strings.website.tools.tanks.characteristics.compare.tier, [
|
||||
TIER_ROMAN_NUMERALS[tank.tier],
|
||||
])}
|
||||
</SegmentedControl.Item>
|
||||
<SegmentedControl.Item value={`${TankopediaRelativeAgainst.All}`}>
|
||||
{strings.website.tools.tankopedia.characteristics.compare.all}
|
||||
{strings.website.tools.tanks.characteristics.compare.all}
|
||||
</SegmentedControl.Item>
|
||||
</SegmentedControl.Root>
|
||||
</Flex>
|
||||
|
||||
+1
-3
@@ -145,9 +145,7 @@ export function InfoWithDelta({
|
||||
name={
|
||||
'name' in props
|
||||
? props.name
|
||||
: strings.website.tools.tankopedia.characteristics.values[
|
||||
props.value
|
||||
]
|
||||
: strings.website.tools.tanks.characteristics.values[props.value]
|
||||
}
|
||||
delta={delta}
|
||||
>
|
||||
|
||||
+27
-37
@@ -147,7 +147,7 @@ export function Characteristics() {
|
||||
<Flex direction="column" gap="2">
|
||||
<Flex align="center" gap="4">
|
||||
<Heading size="5">
|
||||
{strings.website.tools.tankopedia.firepower.title}
|
||||
{strings.website.tools.tanks.firepower.title}
|
||||
</Heading>
|
||||
|
||||
<Flex>
|
||||
@@ -189,9 +189,7 @@ export function Characteristics() {
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values.gunType
|
||||
}
|
||||
name={strings.website.tools.tanks.characteristics.values.gunType}
|
||||
>
|
||||
{strings.common.gun_types[gun.gun_type!.$case]}
|
||||
</Info>
|
||||
@@ -218,7 +216,7 @@ export function Characteristics() {
|
||||
<Info
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.mostOptimalShellIndex
|
||||
}
|
||||
>
|
||||
@@ -226,7 +224,7 @@ export function Characteristics() {
|
||||
</Info>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.shellReloads
|
||||
}
|
||||
unit="s"
|
||||
@@ -237,7 +235,7 @@ export function Characteristics() {
|
||||
key={index}
|
||||
indent
|
||||
name={literals(
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.shell_index,
|
||||
[`${index + 1}`],
|
||||
)}
|
||||
@@ -281,7 +279,7 @@ export function Characteristics() {
|
||||
indent
|
||||
decimals={0}
|
||||
name={literals(
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.at_distance,
|
||||
[`${penetrationDistance}`],
|
||||
)}
|
||||
@@ -299,7 +297,7 @@ export function Characteristics() {
|
||||
<Flex align="center" gap="2" style={{ paddingLeft: 24 }}>
|
||||
<Text color="gray">
|
||||
{
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.at_distance_slider_label
|
||||
}
|
||||
</Text>
|
||||
@@ -404,7 +402,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={literals(
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.dispersion_at_distance,
|
||||
['100'],
|
||||
)}
|
||||
@@ -459,8 +457,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
.gun_flexibility
|
||||
strings.website.tools.tanks.characteristics.values.gun_flexibility
|
||||
}
|
||||
unit="°"
|
||||
/>
|
||||
@@ -528,9 +525,7 @@ export function Characteristics() {
|
||||
|
||||
<Flex direction="column" gap="2">
|
||||
<Flex gap="2" align="center">
|
||||
<Heading size="5">
|
||||
{strings.website.tools.tankopedia.crew.title}
|
||||
</Heading>
|
||||
<Heading size="5">{strings.website.tools.tanks.crew.title}</Heading>
|
||||
|
||||
<Popover.Root>
|
||||
<Popover.Trigger>
|
||||
@@ -542,7 +537,7 @@ export function Characteristics() {
|
||||
<Popover.Content>
|
||||
<Flex gap="1" align="center">
|
||||
<AccessibilityIcon />
|
||||
<Text>{strings.website.tools.tankopedia.crew.info}</Text>
|
||||
<Text>{strings.website.tools.tanks.crew.info}</Text>
|
||||
</Flex>
|
||||
</Popover.Content>
|
||||
</Popover.Root>
|
||||
@@ -557,7 +552,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
key={`${member.type}-root`}
|
||||
name={`${
|
||||
strings.website.tools.tankopedia.crew[
|
||||
strings.website.tools.tanks.crew[
|
||||
CREW_MEMBER_NAMES[member.type]
|
||||
]
|
||||
}${
|
||||
@@ -591,7 +586,7 @@ export function Characteristics() {
|
||||
{member.substitute
|
||||
.map((sub, index) =>
|
||||
index === 0
|
||||
? strings.website.tools.tankopedia.crew[
|
||||
? strings.website.tools.tanks.crew[
|
||||
CREW_MEMBER_NAMES[sub]
|
||||
]
|
||||
: sub,
|
||||
@@ -613,10 +608,10 @@ export function Characteristics() {
|
||||
<Flex direction="column" gap="8" style={{ flex: 1 }}>
|
||||
<Flex direction="column" gap="2">
|
||||
<Heading size="5">
|
||||
{strings.website.tools.tankopedia.maneuverability.title}
|
||||
{strings.website.tools.tanks.maneuverability.title}
|
||||
</Heading>
|
||||
<Info
|
||||
name={strings.website.tools.tankopedia.characteristics.values.speed}
|
||||
name={strings.website.tools.tanks.characteristics.values.speed}
|
||||
unit="kph"
|
||||
/>
|
||||
<InfoWithDelta
|
||||
@@ -641,7 +636,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.terrain_coefficients
|
||||
}
|
||||
/>
|
||||
@@ -668,7 +663,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.raw_terrain_coefficients
|
||||
}
|
||||
deltaType="lowerIsBetter"
|
||||
@@ -699,7 +694,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.power_to_weight_ratio
|
||||
}
|
||||
unit="hp/tn"
|
||||
@@ -730,7 +725,7 @@ export function Characteristics() {
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.hull_traverse_speed
|
||||
}
|
||||
unit="°/s"
|
||||
@@ -757,14 +752,12 @@ export function Characteristics() {
|
||||
|
||||
<Flex direction="column" gap="2">
|
||||
<Heading size="5">
|
||||
{strings.website.tools.tankopedia.survivability.title}
|
||||
{strings.website.tools.tanks.survivability.title}
|
||||
</Heading>
|
||||
<InfoWithDelta value="health" stats={stats} unit="hp" decimals={0} />
|
||||
<InfoWithDelta
|
||||
stats={stats}
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values.fireChance
|
||||
}
|
||||
name={strings.website.tools.tanks.characteristics.values.fireChance}
|
||||
unit="%"
|
||||
deltaType="lowerIsBetter"
|
||||
decimals={0}
|
||||
@@ -777,9 +770,7 @@ export function Characteristics() {
|
||||
decimals={0}
|
||||
/>
|
||||
<Info
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values.camouflage
|
||||
}
|
||||
name={strings.website.tools.tanks.characteristics.values.camouflage}
|
||||
unit="%"
|
||||
/>
|
||||
<InfoWithDelta
|
||||
@@ -787,8 +778,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
.camouflageStill
|
||||
strings.website.tools.tanks.characteristics.values.camouflageStill
|
||||
}
|
||||
decimals={2}
|
||||
/>
|
||||
@@ -797,7 +787,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.camouflageMoving
|
||||
}
|
||||
decimals={2}
|
||||
@@ -806,7 +796,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.camouflageShootingStill
|
||||
}
|
||||
decimals={2}
|
||||
@@ -816,7 +806,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.camouflageShootingMoving
|
||||
}
|
||||
decimals={2}
|
||||
@@ -826,7 +816,7 @@ export function Characteristics() {
|
||||
stats={stats}
|
||||
indent
|
||||
name={
|
||||
strings.website.tools.tankopedia.characteristics.values
|
||||
strings.website.tools.tanks.characteristics.values
|
||||
.camouflageCaughtOnFire
|
||||
}
|
||||
decimals={2}
|
||||
|
||||
+3
-6
@@ -42,7 +42,7 @@ export function Consumables() {
|
||||
<Flex gap="4" align="center">
|
||||
<Flex gap="2" align="center">
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.consumables.title}
|
||||
{strings.website.tools.tanks.configuration.consumables.title}
|
||||
</Heading>
|
||||
|
||||
<Popover.Root>
|
||||
@@ -54,10 +54,7 @@ export function Consumables() {
|
||||
|
||||
<Popover.Content>
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.configuration.consumables
|
||||
.info
|
||||
}
|
||||
{strings.website.tools.tanks.configuration.consumables.info}
|
||||
</Text>
|
||||
</Popover.Content>
|
||||
</Popover.Root>
|
||||
@@ -72,7 +69,7 @@ export function Consumables() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.consumables.clear}
|
||||
{strings.website.tools.tanks.configuration.consumables.clear}
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ export function Equipment() {
|
||||
<ConfigurationChildWrapper>
|
||||
<Flex gap="4" align="center">
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.equipment.title}
|
||||
{strings.website.tools.tanks.configuration.equipment.title}
|
||||
</Heading>
|
||||
<Button
|
||||
variant="ghost"
|
||||
@@ -36,7 +36,7 @@ export function Equipment() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.equipment.clear}
|
||||
{strings.website.tools.tanks.configuration.equipment.clear}
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ export function Miscellaneous() {
|
||||
return (
|
||||
<ConfigurationChildWrapper>
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.miscellaneous.title}
|
||||
{strings.website.tools.tanks.configuration.miscellaneous.title}
|
||||
</Heading>
|
||||
|
||||
<Flex gap="2" align="center">
|
||||
|
||||
+3
-3
@@ -356,7 +356,7 @@ export function Modules() {
|
||||
<ConfigurationChildWrapper>
|
||||
<Flex gap="4" align="center">
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.modules.title}
|
||||
{strings.website.tools.tanks.configuration.modules.title}
|
||||
</Heading>
|
||||
|
||||
{hasUpgrades && (
|
||||
@@ -375,7 +375,7 @@ export function Modules() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.modules.stock}
|
||||
{strings.website.tools.tanks.configuration.modules.stock}
|
||||
</Button>
|
||||
<Button
|
||||
variant="ghost"
|
||||
@@ -393,7 +393,7 @@ export function Modules() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.modules.upgrade}
|
||||
{strings.website.tools.tanks.configuration.modules.upgrade}
|
||||
</Button>
|
||||
</>
|
||||
)}
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ export function Provisions() {
|
||||
<ConfigurationChildWrapper>
|
||||
<Flex gap="4" align="center">
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.provisions.title}
|
||||
{strings.website.tools.tanks.configuration.provisions.title}
|
||||
</Heading>
|
||||
<Button
|
||||
variant="ghost"
|
||||
@@ -30,7 +30,7 @@ export function Provisions() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.provisions.clear}
|
||||
{strings.website.tools.tanks.configuration.provisions.clear}
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
||||
+4
-4
@@ -22,7 +22,7 @@ export function Skills() {
|
||||
<Flex gap="4" align="center">
|
||||
<Flex gap="2" align="center">
|
||||
<Heading size="4">
|
||||
{strings.website.tools.tankopedia.configuration.skills.title}
|
||||
{strings.website.tools.tanks.configuration.skills.title}
|
||||
</Heading>
|
||||
|
||||
<Popover.Root>
|
||||
@@ -35,7 +35,7 @@ export function Skills() {
|
||||
<Popover.Content>
|
||||
<Flex direction="column" gap="2">
|
||||
<Text>
|
||||
{strings.website.tools.tankopedia.configuration.skills.info}
|
||||
{strings.website.tools.tanks.configuration.skills.info}
|
||||
</Text>
|
||||
</Flex>
|
||||
</Popover.Content>
|
||||
@@ -53,7 +53,7 @@ export function Skills() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.skills.clear}
|
||||
{strings.website.tools.tanks.configuration.skills.clear}
|
||||
</Button>
|
||||
<Button
|
||||
variant="ghost"
|
||||
@@ -65,7 +65,7 @@ export function Skills() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.configuration.skills.maximize}
|
||||
{strings.website.tools.tanks.configuration.skills.maximize}
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
||||
@@ -27,9 +27,7 @@ export function CharacteristicsSection() {
|
||||
maxWidth="21rem"
|
||||
align={{ initial: 'center', sm: 'start' }}
|
||||
>
|
||||
<Heading>
|
||||
{strings.website.tools.tankopedia.configuration.title}
|
||||
</Heading>
|
||||
<Heading>{strings.website.tools.tanks.configuration.title}</Heading>
|
||||
<Modules />
|
||||
<Equipment />
|
||||
<Provisions />
|
||||
|
||||
@@ -22,9 +22,7 @@ export function GameModeSection() {
|
||||
|
||||
return (
|
||||
<Flex direction="column" gap="4" align="center">
|
||||
<Heading size="6">
|
||||
{strings.website.tools.tankopedia.game_modes.title}
|
||||
</Heading>
|
||||
<Heading size="6">{strings.website.tools.tanks.game_modes.title}</Heading>
|
||||
|
||||
<Flex justify="center" gap="4" wrap="wrap" px="4">
|
||||
{roles.map(([key, value]) => {
|
||||
|
||||
+13
-16
@@ -58,8 +58,8 @@ export function CustomShellButton() {
|
||||
<Flex align="center" justify="between" gap="4">
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.type
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.type
|
||||
}
|
||||
</Text>
|
||||
<Select.Root
|
||||
@@ -124,8 +124,8 @@ export function CustomShellButton() {
|
||||
<Flex align="center" justify="between" gap="4">
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.caliber
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.caliber
|
||||
}
|
||||
</Text>
|
||||
<TextField.Root
|
||||
@@ -159,8 +159,8 @@ export function CustomShellButton() {
|
||||
<Flex align="center" justify="between" gap="4">
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.penetration
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.penetration
|
||||
}
|
||||
</Text>
|
||||
<TextField.Root
|
||||
@@ -198,8 +198,8 @@ export function CustomShellButton() {
|
||||
<Flex align="center" justify="between" gap="4" py="1">
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.normalization
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.normalization
|
||||
}
|
||||
</Text>
|
||||
|
||||
@@ -234,8 +234,8 @@ export function CustomShellButton() {
|
||||
<Flex align="center" justify="between" gap="4" py="1">
|
||||
<Text>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.ricochet
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.ricochet
|
||||
}
|
||||
</Text>
|
||||
|
||||
@@ -297,8 +297,8 @@ export function CustomShellButton() {
|
||||
<Popover.Close>
|
||||
<Button color="red" variant="outline">
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic
|
||||
.custom_shell.exit
|
||||
strings.website.tools.tanks.sandbox.dynamic.custom_shell
|
||||
.exit
|
||||
}
|
||||
</Button>
|
||||
</Popover.Close>
|
||||
@@ -310,10 +310,7 @@ export function CustomShellButton() {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.dynamic.custom_shell
|
||||
.reset
|
||||
}
|
||||
{strings.website.tools.tanks.sandbox.dynamic.custom_shell.reset}
|
||||
</Button>
|
||||
</Flex>
|
||||
</>
|
||||
|
||||
+5
-5
@@ -60,7 +60,7 @@ export function Thicknesses({ thicknessRange }: ThicknessesProps) {
|
||||
])}
|
||||
</Text>
|
||||
<Text size="1">
|
||||
{strings.website.tools.tankopedia.sandbox.static.primary}
|
||||
{strings.website.tools.tanks.sandbox.static.primary}
|
||||
</Text>
|
||||
<Text color="gray" size="1">
|
||||
{literals(strings.common.units.mm, ['0'])}
|
||||
@@ -101,7 +101,7 @@ export function Thicknesses({ thicknessRange }: ThicknessesProps) {
|
||||
])}
|
||||
</Text>
|
||||
<Text size="1">
|
||||
{strings.website.tools.tankopedia.sandbox.static.spaced}
|
||||
{strings.website.tools.tanks.sandbox.static.spaced}
|
||||
</Text>
|
||||
<Text color="gray" size="1">
|
||||
{literals(strings.common.units.mm, ['0'])}
|
||||
@@ -135,7 +135,7 @@ export function Thicknesses({ thicknessRange }: ThicknessesProps) {
|
||||
>
|
||||
<Flex direction="column" align="end" justify="between">
|
||||
<Text size="1">
|
||||
{strings.website.tools.tankopedia.sandbox.static.external}
|
||||
{strings.website.tools.tanks.sandbox.static.external}
|
||||
</Text>
|
||||
</Flex>
|
||||
|
||||
@@ -168,7 +168,7 @@ export function Thicknesses({ thicknessRange }: ThicknessesProps) {
|
||||
}}
|
||||
>
|
||||
<Text size="1">
|
||||
{strings.website.tools.tankopedia.sandbox.static.edit.label}
|
||||
{strings.website.tools.tanks.sandbox.static.edit.label}
|
||||
</Text>
|
||||
<Checkbox size="2" checked={editStatic} />
|
||||
</Flex>
|
||||
@@ -186,7 +186,7 @@ export function Thicknesses({ thicknessRange }: ThicknessesProps) {
|
||||
}}
|
||||
>
|
||||
<ReloadIcon />
|
||||
{strings.website.tools.tankopedia.sandbox.static.edit.reset}
|
||||
{strings.website.tools.tanks.sandbox.static.edit.reset}
|
||||
</Button>
|
||||
</Flex>
|
||||
|
||||
|
||||
+17
-22
@@ -346,13 +346,13 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
>
|
||||
<Checkbox checked={advancedHighlighting} />
|
||||
<Text color="gray" size="2">
|
||||
{strings.website.tools.tankopedia.sandbox.dynamic.advanced}
|
||||
{strings.website.tools.tanks.sandbox.dynamic.advanced}
|
||||
</Text>
|
||||
</Flex>
|
||||
|
||||
<Flex align="center" gap="2">
|
||||
<Text color="gray" size="2">
|
||||
{strings.website.tools.tankopedia.sandbox.dynamic.shooter}
|
||||
{strings.website.tools.tanks.sandbox.dynamic.shooter}
|
||||
</Text>
|
||||
<Dialog.Root
|
||||
open={antagonistSelectorOpen}
|
||||
@@ -408,9 +408,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
<SegmentedControl.Item value={`${TankopediaDisplay.Model}`}>
|
||||
<Tooltip
|
||||
content={strings.website.tools.tankopedia.sandbox.model.name}
|
||||
>
|
||||
<Tooltip content={strings.website.tools.tanks.sandbox.model.name}>
|
||||
<Flex height="100%" align="center">
|
||||
<img src={imgur('jAdYf0m')} style={{ height: '1.25em' }} />
|
||||
</Flex>
|
||||
@@ -418,7 +416,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
</SegmentedControl.Item>
|
||||
<SegmentedControl.Item value={`${TankopediaDisplay.DynamicArmor}`}>
|
||||
<Tooltip
|
||||
content={strings.website.tools.tankopedia.sandbox.dynamic.name}
|
||||
content={strings.website.tools.tanks.sandbox.dynamic.name}
|
||||
>
|
||||
<Flex height="100%" align="center">
|
||||
<img src={imgur('oe4Cq0g')} style={{ height: '1.25em' }} />
|
||||
@@ -427,7 +425,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
</SegmentedControl.Item>
|
||||
<SegmentedControl.Item value={`${TankopediaDisplay.StaticArmor}`}>
|
||||
<Tooltip
|
||||
content={strings.website.tools.tankopedia.sandbox.static.name}
|
||||
content={strings.website.tools.tanks.sandbox.static.name}
|
||||
>
|
||||
<Flex height="100%" align="center">
|
||||
<img src={imgur('VQ4uDno')} style={{ height: '1.25em' }} />
|
||||
@@ -452,15 +450,15 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
|
||||
<DropdownMenu.Content>
|
||||
<DropdownMenu.Item onClick={() => poseEvent.emit(Pose.HullDown)}>
|
||||
{strings.website.tools.tankopedia.sandbox.poses.hull_down}
|
||||
{strings.website.tools.tanks.sandbox.poses.hull_down}
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<DropdownMenu.Item onClick={() => poseEvent.emit(Pose.FaceHug)}>
|
||||
{strings.website.tools.tankopedia.sandbox.poses.face_hug}
|
||||
{strings.website.tools.tanks.sandbox.poses.face_hug}
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<DropdownMenu.Item onClick={() => poseEvent.emit(Pose.Default)}>
|
||||
{strings.website.tools.tankopedia.sandbox.poses.default}
|
||||
{strings.website.tools.tanks.sandbox.poses.default}
|
||||
</DropdownMenu.Item>
|
||||
</DropdownMenu.Content>
|
||||
</DropdownMenu.Root>
|
||||
@@ -476,7 +474,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
{display === TankopediaDisplay.DynamicArmor && (
|
||||
<>
|
||||
<DropdownMenu.Label>
|
||||
{strings.website.tools.tankopedia.sandbox.settings.armor}
|
||||
{strings.website.tools.tanks.sandbox.settings.armor}
|
||||
</DropdownMenu.Label>
|
||||
|
||||
<DropdownMenu.CheckboxItem
|
||||
@@ -488,7 +486,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.settings
|
||||
strings.website.tools.tanks.sandbox.settings
|
||||
.green_penetration
|
||||
}
|
||||
</DropdownMenu.CheckboxItem>
|
||||
@@ -502,7 +500,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.settings
|
||||
strings.website.tools.tanks.sandbox.settings
|
||||
.hide_model_under_armor
|
||||
}
|
||||
</DropdownMenu.CheckboxItem>
|
||||
@@ -515,7 +513,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.sandbox.settings.opaque}
|
||||
{strings.website.tools.tanks.sandbox.settings.opaque}
|
||||
</DropdownMenu.CheckboxItem>
|
||||
|
||||
{developerMode && (
|
||||
@@ -528,7 +526,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.settings
|
||||
strings.website.tools.tanks.sandbox.settings
|
||||
.dev_wireframe
|
||||
}
|
||||
</DropdownMenu.CheckboxItem>
|
||||
@@ -537,7 +535,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
)}
|
||||
|
||||
<DropdownMenu.Label>
|
||||
{strings.website.tools.tankopedia.sandbox.settings.environment}
|
||||
{strings.website.tools.tanks.sandbox.settings.environment}
|
||||
</DropdownMenu.Label>
|
||||
|
||||
<DropdownMenu.CheckboxItem
|
||||
@@ -548,7 +546,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{strings.website.tools.tankopedia.sandbox.settings.show_grid}
|
||||
{strings.website.tools.tanks.sandbox.settings.show_grid}
|
||||
</DropdownMenu.CheckboxItem>
|
||||
</DropdownMenu.Content>
|
||||
</DropdownMenu.Root>
|
||||
@@ -581,10 +579,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
<DownloadIcon />
|
||||
{
|
||||
strings.website.tools.tankopedia.sandbox.screenshot
|
||||
.download
|
||||
}
|
||||
{strings.website.tools.tanks.sandbox.screenshot.download}
|
||||
</Button>
|
||||
</Popover.Close>
|
||||
<Popover.Close>
|
||||
@@ -603,7 +598,7 @@ export function Options({ thicknessRange, canvas }: OptionsProps) {
|
||||
}}
|
||||
>
|
||||
<CopyIcon />
|
||||
{strings.website.tools.tankopedia.sandbox.screenshot.copy}
|
||||
{strings.website.tools.tanks.sandbox.screenshot.copy}
|
||||
</Button>
|
||||
</Popover.Close>
|
||||
</Flex>
|
||||
|
||||
@@ -47,7 +47,7 @@ export function MetaSection() {
|
||||
<LinkI18n locale={locale} href="/tools/tankopedia">
|
||||
<Button variant="outline">
|
||||
<ChevronLeftIcon />
|
||||
{strings.website.tools.tankopedia.meta.back}
|
||||
{strings.website.tools.tanks.meta.back}
|
||||
</Button>
|
||||
</LinkI18n>
|
||||
|
||||
@@ -57,7 +57,7 @@ export function MetaSection() {
|
||||
>
|
||||
<Button variant="outline">
|
||||
<MixIcon />
|
||||
{strings.website.tools.tankopedia.meta.compare}
|
||||
{strings.website.tools.tanks.meta.compare}
|
||||
</Button>
|
||||
</LinkI18n>
|
||||
|
||||
@@ -73,8 +73,8 @@ export function MetaSection() {
|
||||
<ScienceIcon height="1.25em" width="1.25em" />
|
||||
{assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH) ===
|
||||
'opentest'
|
||||
? strings.website.tools.tankopedia.meta.vanilla
|
||||
: strings.website.tools.tankopedia.meta.opentest}
|
||||
? strings.website.tools.tanks.meta.vanilla
|
||||
: strings.website.tools.tanks.meta.opentest}
|
||||
</Button>
|
||||
</Link>
|
||||
)}
|
||||
@@ -83,13 +83,13 @@ export function MetaSection() {
|
||||
<Dialog.Trigger>
|
||||
<Button>
|
||||
<UpdateIcon />
|
||||
{strings.website.tools.tankopedia.meta.swap.button}
|
||||
{strings.website.tools.tanks.meta.swap.button}
|
||||
</Button>
|
||||
</Dialog.Trigger>
|
||||
|
||||
<Dialog.Content>
|
||||
<Dialog.Title>
|
||||
{strings.website.tools.tankopedia.meta.swap.title}
|
||||
{strings.website.tools.tanks.meta.swap.title}
|
||||
</Dialog.Title>
|
||||
|
||||
<TankSearch
|
||||
@@ -123,11 +123,11 @@ export function MetaSection() {
|
||||
>
|
||||
<Flex direction="column" width="100%">
|
||||
{protagonist.name_full && (
|
||||
<Listing label={strings.website.tools.tankopedia.meta.full_name}>
|
||||
<Listing label={strings.website.tools.tanks.meta.full_name}>
|
||||
{unwrap(protagonist.name_full)}
|
||||
</Listing>
|
||||
)}
|
||||
<Listing label={strings.website.tools.tankopedia.meta.nation}>
|
||||
<Listing label={strings.website.tools.tanks.meta.nation}>
|
||||
<Flex align="center" gap="1">
|
||||
<img
|
||||
style={{ width: '1em', height: '1em' }}
|
||||
@@ -141,17 +141,17 @@ export function MetaSection() {
|
||||
}
|
||||
</Flex>
|
||||
</Listing>
|
||||
<Listing label={strings.website.tools.tankopedia.meta.class}>
|
||||
<Listing label={strings.website.tools.tanks.meta.class}>
|
||||
<Flex align="center" gap="1">
|
||||
<ClassIcon width="1em" height="1em" />
|
||||
{strings.common.tank_class_short[protagonist.class]}
|
||||
</Flex>
|
||||
</Listing>
|
||||
<Listing label={strings.website.tools.tankopedia.meta.tier}>
|
||||
<Listing label={strings.website.tools.tanks.meta.tier}>
|
||||
{TIER_ROMAN_NUMERALS[protagonist.tier]}
|
||||
</Listing>
|
||||
<Listing
|
||||
label={strings.website.tools.tankopedia.meta.type}
|
||||
label={strings.website.tools.tanks.meta.type}
|
||||
color={
|
||||
protagonist.type === TankType.COLLECTOR
|
||||
? 'blue'
|
||||
@@ -166,12 +166,12 @@ export function MetaSection() {
|
||||
|
||||
<Flex direction="column" width="100%">
|
||||
{developerMode && (
|
||||
<Listing label={strings.website.tools.tankopedia.meta.dev_id}>
|
||||
<Listing label={strings.website.tools.tanks.meta.dev_id}>
|
||||
<Code>{protagonist.id}</Code>
|
||||
</Listing>
|
||||
)}
|
||||
{protagonist.type === TankType.PREMIUM && (
|
||||
<Listing label={strings.website.tools.tankopedia.meta.purchase}>
|
||||
<Listing label={strings.website.tools.tanks.meta.purchase}>
|
||||
<Flex align="center" gap="1">
|
||||
{protagonist.price.value / 400}
|
||||
<img
|
||||
@@ -185,8 +185,8 @@ export function MetaSection() {
|
||||
<Listing
|
||||
label={
|
||||
protagonist.type === TankType.RESEARCHABLE
|
||||
? strings.website.tools.tankopedia.meta.purchase
|
||||
: strings.website.tools.tankopedia.meta.restoration
|
||||
? strings.website.tools.tanks.meta.purchase
|
||||
: strings.website.tools.tanks.meta.restoration
|
||||
}
|
||||
>
|
||||
<Flex align="center" gap="1">
|
||||
@@ -204,7 +204,7 @@ export function MetaSection() {
|
||||
/>
|
||||
</Flex>
|
||||
</Listing>
|
||||
<Listing label={strings.website.tools.tankopedia.meta.sale}>
|
||||
<Listing label={strings.website.tools.tanks.meta.sale}>
|
||||
<Flex align="center" gap="1">
|
||||
{(protagonist.price.value / 2).toLocaleString(locale)}
|
||||
<img
|
||||
@@ -221,7 +221,7 @@ export function MetaSection() {
|
||||
</Flex>
|
||||
</Listing>
|
||||
{protagonist.research_cost && (
|
||||
<Listing label={strings.website.tools.tankopedia.meta.research}>
|
||||
<Listing label={strings.website.tools.tanks.meta.research}>
|
||||
<Flex align="center" gap="1">
|
||||
{(
|
||||
protagonist.research_cost.research_cost_type!
|
||||
|
||||
@@ -132,11 +132,10 @@ export function Node({ id, highlight, nextIds, skeleton }: NodeProps) {
|
||||
{skeleton && <Skeleton height="1em" width="4em" />}
|
||||
{!skeleton &&
|
||||
(games === 1
|
||||
? strings.website.tools.tankopedia.tech_tree.battle
|
||||
: literals(
|
||||
strings.website.tools.tankopedia.tech_tree.battles,
|
||||
[`${games}`],
|
||||
))}
|
||||
? strings.website.tools.tanks.tech_tree.battle
|
||||
: literals(strings.website.tools.tanks.tech_tree.battles, [
|
||||
`${games}`,
|
||||
]))}
|
||||
</Text>
|
||||
)}
|
||||
</Flex>
|
||||
|
||||
@@ -93,7 +93,7 @@ export function TechTreeSection({ skeleton }: MaybeSkeletonComponentProps) {
|
||||
>
|
||||
<Flex direction="column" align="center">
|
||||
<Heading size="6">
|
||||
{strings.website.tools.tankopedia.tech_tree.title}
|
||||
{strings.website.tools.tanks.tech_tree.title}
|
||||
</Heading>
|
||||
|
||||
{master.tier > 1 && (
|
||||
@@ -219,7 +219,7 @@ export function TechTreeSection({ skeleton }: MaybeSkeletonComponentProps) {
|
||||
<CaretLeftIcon />
|
||||
</IconButton>
|
||||
<Text>
|
||||
{literals(strings.website.tools.tankopedia.tech_tree.route, [
|
||||
{literals(strings.website.tools.tanks.tech_tree.route, [
|
||||
`${lineIndex + 1}`,
|
||||
`${lines.length}`,
|
||||
])}
|
||||
|
||||
@@ -22,12 +22,10 @@ export function VideoSection({ skeleton }: MaybeSkeletonComponentProps) {
|
||||
<PageWrapper noFlex1 noMinHeight>
|
||||
<Flex direction="column" gap="6" align="center">
|
||||
<Flex direction="column" align="center">
|
||||
<Heading size="6">
|
||||
{strings.website.tools.tankopedia.review.title}
|
||||
</Heading>
|
||||
<Heading size="6">{strings.website.tools.tanks.review.title}</Heading>
|
||||
|
||||
<Text color="gray">
|
||||
{strings.website.tools.tankopedia.review.disclaimer}
|
||||
{strings.website.tools.tanks.review.disclaimer}
|
||||
</Text>
|
||||
</Flex>
|
||||
|
||||
@@ -117,7 +115,7 @@ export function VideoSection({ skeleton }: MaybeSkeletonComponentProps) {
|
||||
width: '9rem',
|
||||
}}
|
||||
>
|
||||
{literals(strings.website.tools.tankopedia.review.join, [
|
||||
{literals(strings.website.tools.tanks.review.join, [
|
||||
'BlitzKit',
|
||||
])}
|
||||
</Text>
|
||||
|
||||
@@ -11,10 +11,10 @@ import {
|
||||
TIER_ROMAN_NUMERALS,
|
||||
} from '@blitzkit/core';
|
||||
import { DEFAULT_LOCALE, unwrapper } from '@blitzkit/i18n';
|
||||
import { literals } from '@blitzkit/i18n/src/literals';
|
||||
import type { GetStaticPaths } from 'astro';
|
||||
import { tankCharacteristics } from '../../../../../core/blitzkit/tankCharacteristics';
|
||||
import { getStrings } from '../../../../../core/i18n/getStrings';
|
||||
import { literals } from '@blitzkit/i18n/src/literals';
|
||||
import BaseLayout from '../../../../../layouts/BaseLayout.astro';
|
||||
import { genericDefaultEquipmentMatrix } from '../../../../../stores/duel/constants';
|
||||
import { getStaticPaths as parentGetStaticPaths } from '../index.astro';
|
||||
@@ -45,7 +45,7 @@ const tank = tankDefinitions.tanks[id];
|
||||
const tankModelDefinition = tankModelDefinitions.models[tank.id];
|
||||
const name = tank.name_full ?? tank.name;
|
||||
const unwrap = unwrapper(locale);
|
||||
const title = literals(strings.website.tools.tankopedia.tank_seo_title, [
|
||||
const title = literals(strings.website.tools.tanks.tank_seo_title, [
|
||||
unwrap(name),
|
||||
TIER_ROMAN_NUMERALS[tank.tier],
|
||||
strings.common.nations_adjectives[
|
||||
@@ -82,17 +82,14 @@ const characteristics = tankCharacteristics(
|
||||
},
|
||||
{ equipmentDefinitions, provisionDefinitions, tankModelDefinition },
|
||||
);
|
||||
const description = literals(
|
||||
strings.website.tools.tankopedia.tank_seo_description,
|
||||
[
|
||||
unwrap(name),
|
||||
Math.round(characteristics.dpm).toLocaleString(locale),
|
||||
Math.round(characteristics.damage).toLocaleString(locale),
|
||||
Math.round(characteristics.penetration).toLocaleString(locale),
|
||||
Math.round(characteristics.speedForwards).toLocaleString(locale),
|
||||
Math.round(characteristics.health).toLocaleString(locale),
|
||||
],
|
||||
);
|
||||
const description = literals(strings.website.tools.tanks.tank_seo_description, [
|
||||
unwrap(name),
|
||||
Math.round(characteristics.dpm).toLocaleString(locale),
|
||||
Math.round(characteristics.damage).toLocaleString(locale),
|
||||
Math.round(characteristics.penetration).toLocaleString(locale),
|
||||
Math.round(characteristics.speedForwards).toLocaleString(locale),
|
||||
Math.round(characteristics.health).toLocaleString(locale),
|
||||
]);
|
||||
---
|
||||
|
||||
<title>{title}</title>
|
||||
|
||||
@@ -16,9 +16,9 @@ const glossary = await fetchGlossary(DEFAULT_LOCALE);
|
||||
|
||||
/**
|
||||
* Returns an in-game avatar image. Use gallery/list.json to get all valid ids.
|
||||
* Not all ids may have images due to poor Wargaming CDNs. Some images may be
|
||||
* animated. Not all images share the same dimensions.
|
||||
* Some images may be animated. Not all images share the same dimensions.
|
||||
*
|
||||
* @warning Not all ids have images due to poor Wargaming CDN.
|
||||
* @param avatar The avatar id.
|
||||
* @returns A webp image.
|
||||
*/
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"moduleResolution": "bundler",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
|
||||
Reference in new issue
Block a user