diff --git a/packages/core/src/blitzkit/api/server/4_maps.ts b/packages/core/src/blitzkit/api/server/4_maps.ts index b8c9d655d..a3cf18674 100644 --- a/packages/core/src/blitzkit/api/server/4_maps.ts +++ b/packages/core/src/blitzkit/api/server/4_maps.ts @@ -1,4 +1,4 @@ -import { MapDefinitions } from "@blitzkit/core"; +import { MapDefinitions } from "@blitzkit/protos"; import { Cache } from "./0_base"; import { ServerBlitzKitAPI3 } from "./3_models"; diff --git a/packages/core/src/statistics/sumAllStats.ts b/packages/core/src/statistics/sumAllStats.ts index cbca0f41a..17bd3c7bb 100644 --- a/packages/core/src/statistics/sumAllStats.ts +++ b/packages/core/src/statistics/sumAllStats.ts @@ -1,5 +1,5 @@ -import { emptyAllStats } from '..'; -import { BlitzStats } from './compositeStats/constants'; +import { emptyAllStats } from "../types"; +import { BlitzStats } from "./compositeStats/constants"; export function sumAllStats(allStatsCollection: BlitzStats[]) { return allStatsCollection.reduce((accumulated, current) => { diff --git a/packages/core/src/types/tanksStats.ts b/packages/core/src/types/tanksStats.ts index 1e765fdad..9de382fc1 100644 --- a/packages/core/src/types/tanksStats.ts +++ b/packages/core/src/types/tanksStats.ts @@ -1,5 +1,24 @@ -import { emptyAllStats } from '../blitz'; -import type { BlitzStats } from '../statistics'; +import type { BlitzStats } from "../statistics"; + +export const emptyAllStats: BlitzStats = { + battles: 0, + capture_points: 0, + damage_dealt: 0, + damage_received: 0, + dropped_capture_points: 0, + frags: 0, + frags8p: 0, + hits: 0, + losses: 0, + max_frags: 0, + max_xp: 0, + shots: 0, + spotted: 0, + survived_battles: 0, + win_and_survived: 0, + wins: 0, + xp: 0, +}; export interface IndividualTankStats { all: BlitzStats; diff --git a/packages/i18n/src/index.ts b/packages/i18n/src/index.ts index 9fb52c844..748d3deda 100644 --- a/packages/i18n/src/index.ts +++ b/packages/i18n/src/index.ts @@ -1,4 +1,3 @@ export * from "./literals"; export * from "./strings"; export * from "./unwrapper"; -export * from "./wrapper"; diff --git a/packages/i18n/src/wrapper.ts b/packages/i18n/src/wrapper.ts deleted file mode 100644 index 7618cd273..000000000 --- a/packages/i18n/src/wrapper.ts +++ /dev/null @@ -1,15 +0,0 @@ -import locales from "../locales.json"; -import { type BlitzKitStrings, STRINGS } from "./strings"; - -export function wrapper(slicer: (strings: BlitzKitStrings) => string) { - const defaultString = slicer(STRINGS[locales.default] as BlitzKitStrings); - - const object = { [locales.default]: defaultString }; - - for (const { locale } of locales.supported) { - const string = slicer(STRINGS[locale] as BlitzKitStrings); - if (string !== defaultString) object[locale] = string; - } - - return object; -} diff --git a/packages/website/src/components/RecentlyViewedTanks/index.tsx b/packages/website/src/components/RecentlyViewedTanks/index.tsx index 48de5fa29..28ce99d78 100644 --- a/packages/website/src/components/RecentlyViewedTanks/index.tsx +++ b/packages/website/src/components/RecentlyViewedTanks/index.tsx @@ -1,7 +1,7 @@ import { isEqual } from "lodash-es"; import { useMemo } from "react"; import { api } from "../../api/dynamic"; -import { useLocale } from "../../hooks/useLocale"; +import { useStrings } from "../../hooks/useStrings"; import { TankFilters } from "../../stores/tankFilters"; import { TankopediaPersistent } from "../../stores/tankopediaPersistent"; import { TankSort } from "../../stores/tankopediaSort"; @@ -29,7 +29,8 @@ export function RecentlyViewedTanks() { }), [filters], ); - const { strings } = useLocale(); + + const strings = useStrings(); const by = TankSort.use((state) => state.by); if (recentlyViewed.length === 0 || by !== "meta.none" || hasFilters) { diff --git a/packages/website/src/components/TankCard/index.tsx b/packages/website/src/components/TankCard/index.tsx index 116990d5e..b2f4b0f1e 100644 --- a/packages/website/src/components/TankCard/index.tsx +++ b/packages/website/src/components/TankCard/index.tsx @@ -1,11 +1,13 @@ -import { alias, TankType, type TankDefinition } from "@blitzkit/core"; +import { alias } from "@blitzkit/core"; +import { TankType, type TankDefinition } from "@blitzkit/protos"; import { uniq } from "lodash-es"; import { type ReactNode } from "react"; import { api } from "../../api/dynamic"; import { useLocale } from "../../hooks/useLocale"; +import { useUnwrapper } from "../../hooks/useUnwrapper"; import { TankopediaPersistent } from "../../stores/tankopediaPersistent"; import type { MaybeSkeletonComponentProps } from "../../types/maybeSkeletonComponentProps"; -import { classIcons } from "../ClassIcon"; +import { ClassIcon } from "../ClassIcon"; import { Flex } from "../Flex"; import { LinkI18nWrapper } from "../LinkI18nWrapper"; import { TankCardSkeleton } from "../TankCardSkeleton"; @@ -28,7 +30,8 @@ export const TankCard = (props: MaybeSkeletonComponentProps) => { return ; } - const { unwrap, locale } = useLocale(); + const unwrap = useUnwrapper(); + const locale = useLocale(); const provideLink = !props.noLink && props.onTankSelect === undefined; const name = unwrap(props.tank.name!); @@ -41,8 +44,6 @@ export const TankCard = (props: MaybeSkeletonComponentProps) => { : "gray"; const lowContrast = props.tank.type !== TankType.TANK_TYPE_RESEARCHABLE; - const Icon = classIcons[props.tank.class]; - const content = ( ) => { - + {name} diff --git a/packages/website/src/components/TankSearch/components/Sort.tsx b/packages/website/src/components/TankSearch/components/Sort.tsx index 814d6994a..c598d8ee1 100644 --- a/packages/website/src/components/TankSearch/components/Sort.tsx +++ b/packages/website/src/components/TankSearch/components/Sort.tsx @@ -1,5 +1,5 @@ import { CaretDownIcon } from "@radix-ui/react-icons"; -import { useLocale } from "../../../hooks/useLocale"; +import { useStrings } from "../../../hooks/useStrings"; import type { TankopediaSortBy, TankopediaSortDirection, @@ -17,7 +17,7 @@ interface ItemProps { } function Item({ by }: ItemProps) { - const { strings } = useLocale(); + const strings = useStrings(); const _by = TankSort.use((state) => state.by); return ( @@ -36,7 +36,7 @@ function Item({ by }: ItemProps) { export function Sort() { const direction = TankSort.use((state) => state.direction); - const { strings } = useLocale(); + const strings = useStrings(); return ( diff --git a/packages/website/src/components/TankSearchBar/index.tsx b/packages/website/src/components/TankSearchBar/index.tsx index 5a4811c7c..a36d7f147 100644 --- a/packages/website/src/components/TankSearchBar/index.tsx +++ b/packages/website/src/components/TankSearchBar/index.tsx @@ -1,12 +1,12 @@ -import type { TankDefinition } from "@blitzkit/core"; +import type { TankDefinition } from "@blitzkit/protos"; import { MagnifyingGlassIcon } from "@radix-ui/react-icons"; import { - type KeyboardEventHandler, - useCallback, - useEffect, - useRef, + type KeyboardEventHandler, + useCallback, + useEffect, + useRef, } from "react"; -import { useLocale } from "../../hooks/useLocale"; +import { useStrings } from "../../hooks/useStrings"; import { TankFilters } from "../../stores/tankFilters"; import type { MaybeSkeletonComponentProps } from "../../types/maybeSkeletonComponentProps"; import { Flex } from "../Flex"; @@ -23,7 +23,7 @@ export function TankSearchBar({ skeleton, onSelect, }: SearchBarProps) { - const { strings } = useLocale(); + const strings = useStrings(); const search = TankFilters.use((state) => state.search); diff --git a/packages/website/src/core/blitzkit/filterTank.ts b/packages/website/src/core/blitzkit/filterTank.ts index 34e4558b5..d76e47442 100644 --- a/packages/website/src/core/blitzkit/filterTank.ts +++ b/packages/website/src/core/blitzkit/filterTank.ts @@ -1,7 +1,7 @@ +import { isTankCompatible } from "@blitzkit/core"; 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); diff --git a/packages/website/src/core/blitzkit/filterTanks.ts b/packages/website/src/core/blitzkit/filterTanks.ts index 2ae934349..a0b5265fc 100644 --- a/packages/website/src/core/blitzkit/filterTanks.ts +++ b/packages/website/src/core/blitzkit/filterTanks.ts @@ -1,11 +1,12 @@ -import { getTankStats, idToRegion, TankDefinition } from "@blitzkit/core"; +import { getTankStats, idToRegion } from "@blitzkit/core"; +import type { TankDefinition } from "@blitzkit/protos"; import { TankFilters } from "../../stores/tankFilters"; import { filterTank } from "./filterTank"; export async function filterTanks( filters: TankFilters, tanks: TankDefinition[], - player?: number + player?: number, ) { const filtered: TankDefinition[] = []; let owned: number[] | undefined; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts index d38086fe3..af1769444 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts @@ -1,4 +1,4 @@ -import { CamouflageDefinitions } from "@blitzkit/core"; +import { CamouflageDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index"; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts index 05a024f03..3acf7242f 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts @@ -1,4 +1,4 @@ -import { ConsumableDefinitions } from "@blitzkit/core"; +import { ConsumableDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index"; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts index 9ce5cc2d7..8b2d73faa 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts @@ -1,4 +1,4 @@ -import { GameDefinitions } from "@blitzkit/core"; +import { GameDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index"; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts index 6bbf5374d..5f48886f4 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts @@ -1,4 +1,4 @@ -import { ModelDefinitions } from "@blitzkit/core"; +import { ModelDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index"; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts index 4aa908346..7a119fd0f 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts @@ -1,4 +1,4 @@ -import { ProvisionDefinitions } from "@blitzkit/core"; +import { ProvisionDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index"; diff --git a/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts index cfcb9d8b4..eaf87094f 100644 --- a/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts +++ b/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts @@ -1,4 +1,4 @@ -import { TankDefinitions } from "@blitzkit/core"; +import { TankDefinitions } from "@blitzkit/protos"; import { api } from "../../../api/dynamic"; export { getStaticPaths } from "../_index";