From 788edf5bdf667ccfa30d02419009e040af465cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Mon, 26 May 2025 18:29:29 -0500 Subject: [PATCH] feat: more hot garbage --- bun.lockb | Bin 451269 -> 518498 bytes package.json | 6 ++ packages/bot/package.json | 1 - .../core/src/blitz/catalogItemAccessor.ts | 28 ++++++ packages/core/src/blitz/index.ts | 1 + packages/core/src/blitz/metadataAccessor.ts | 36 ++++++- packages/core/src/blitzkit/tankNames.ts | 16 ++-- packages/i18n/src/strings.ts | 89 +----------------- packages/i18n/src/unwrapper.ts | 4 +- packages/scripts/src/buildAssets/glossary.ts | 2 +- packages/website/astro.config.mjs | 6 +- packages/website/package.json | 17 ++-- .../website/src/components/Gallery/List.tsx | 2 +- .../website/src/components/HomeHero.astro | 4 +- .../website/src/components/TanksEmbed.tsx | 3 +- .../website/src/components/TestComponent.tsx | 6 ++ .../src/core/blitz/discreteMetadata.ts | 3 + .../{metadata.ts => unpackedMetadata.ts} | 9 +- packages/website/src/core/i18n/getStrings.ts | 10 +- packages/website/src/hooks/useLocale.tsx | 49 ++++------ packages/website/src/layouts/BaseLayout.astro | 16 ++-- .../website/src/pages/[...locale]/index.astro | 19 ++-- .../[...locale]/tanks-ue/[slug]/index.astro | 21 +++-- .../pages/[...locale]/tanks-ue/_index.astro | 21 +++++ .../pages/[...locale]/tanks-ue/index.astro | 53 ++--------- .../stores/tankPerformanceSort/constants.ts | 2 +- .../src/stores/tankPerformanceSort/index.ts | 4 +- .../src/stores/tankopediaPersistent/index.ts | 5 +- submodules/blitzkit-closed | 2 +- tsconfig.json | 3 +- 30 files changed, 198 insertions(+), 240 deletions(-) create mode 100644 packages/core/src/blitz/catalogItemAccessor.ts create mode 100644 packages/website/src/core/blitz/discreteMetadata.ts rename packages/website/src/core/blitz/{metadata.ts => unpackedMetadata.ts} (55%) create mode 100644 packages/website/src/pages/[...locale]/tanks-ue/_index.astro diff --git a/bun.lockb b/bun.lockb index e945d6256b1f7c86d935cf0a762188473b6c4233..4ce3d1158fe7feb7163dbdeb82051c5818e80344 100644 GIT binary patch delta 145800 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 delta 108507 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 J2Y#02{{aWTyNdt- diff --git a/package.json b/package.json index 53ba6a734..e0e67b83e 100644 --- a/package.json +++ b/package.json @@ -45,14 +45,20 @@ "js-yaml": "^4.1.0", "lodash-es": "^4.17.21", "protobufjs": "^7.5.2", + "react": "^19.1.0", + "react-dom": "^19.1.0", "quicklime": "^1.2.0", "sharp": "^0.33.5" }, "devDependencies": { + "@astrojs/react": "^4.3.0", "@types/bun": "latest", "@types/js-yaml": "^4.0.9", "@types/lodash-es": "^4.17.12", + "@types/react": "^19.1.5", + "@types/react-dom": "^19.1.5", "@types/node": "^22.14.1", + "astro": "^5.8.0", "prettier": "^3.5.3", "prisma": "^6.6.0", "typescript": "^5.8.3" diff --git a/packages/bot/package.json b/packages/bot/package.json index aae56319d..99bcfd6a8 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -9,7 +9,6 @@ "satori": "^0.10.14", "@resvg/resvg-js": "^2.6.2", "discord.js": "^14.16.3", - "react": "^18.3.1", "@radix-ui/colors": "^3.0.0", "fuzzysort": "^2.0.4", "bepaint": "^0.1.0-beta.3", diff --git a/packages/core/src/blitz/catalogItemAccessor.ts b/packages/core/src/blitz/catalogItemAccessor.ts new file mode 100644 index 000000000..dde396517 --- /dev/null +++ b/packages/core/src/blitz/catalogItemAccessor.ts @@ -0,0 +1,28 @@ +import { CatalogItem } from '@protos/blitz_items'; +import { Any } from '@protos/google/protobuf/any'; +import { MessageFns } from '../protos'; + +export class CatalogItemAccessor { + private components: Record = {}; + + constructor(item: CatalogItem) { + for (const component of item.components) { + if ( + component.value === undefined || + component.value.component === undefined + ) { + continue; + } + + this.components[component.key] = component.value.component; + } + } + + get(Message: MessageFns, component: string) { + if (component in this.components) { + return Message.decode(this.components[component].value); + } + + throw new Error(`Unknown component: ${component}`); + } +} diff --git a/packages/core/src/blitz/index.ts b/packages/core/src/blitz/index.ts index e6695539c..d80a0f4ed 100644 --- a/packages/core/src/blitz/index.ts +++ b/packages/core/src/blitz/index.ts @@ -1,4 +1,5 @@ export * from './canSplash'; +export * from './catalogItemAccessor'; export * from './clans'; export * from './classes'; export * from './constants'; diff --git a/packages/core/src/blitz/metadataAccessor.ts b/packages/core/src/blitz/metadataAccessor.ts index 8a07c2c8d..3d1ae7889 100644 --- a/packages/core/src/blitz/metadataAccessor.ts +++ b/packages/core/src/blitz/metadataAccessor.ts @@ -1,10 +1,38 @@ +import { CatalogItem } from '@protos/blitz_items'; import { Metadata } from '@protos/blitz_metadata'; +import { CatalogItemAccessor } from './catalogItemAccessor'; -export class MetadataAccessor { - constructor() {} +export class UnpackedMetadataAccessor { + private items: Record = {}; - loadMetadata(metadata: Metadata) { - for (const catalogItem of metadata.catalog_items) { + constructor(metadata: Metadata) { + for (const item of metadata.catalog_items) { + if (item.catalog_id in this.items) { + throw new Error(`Duplicate catalog ID: ${item.catalog_id}`); + } + + this.items[item.catalog_id] = new CatalogItemAccessor(item); } } + + get(item: string) { + if (item in this.items) return this.items[item]; + + throw new Error(`Unknown catalog ID: ${item}`); + } +} + +export class DiscreteMetadataAccessor { + constructor(private base: string) {} + + async get(item: string) { + const response = await fetch(`${this.base}/${item}.pb`); + + if (!response.ok) throw new Error(`Unknown catalog ID: ${item}`); + + const buffer = await response.arrayBuffer(); + const catalogItem = CatalogItem.decode(new Uint8Array(buffer)); + + return new CatalogItemAccessor(catalogItem); + } } diff --git a/packages/core/src/blitzkit/tankNames.ts b/packages/core/src/blitzkit/tankNames.ts index 26dea0712..f33566892 100644 --- a/packages/core/src/blitzkit/tankNames.ts +++ b/packages/core/src/blitzkit/tankNames.ts @@ -1,5 +1,5 @@ +import locales from '@blitzkit/i18n/locales.json' with { type: 'json' }; import { deburr } from 'lodash-es'; -import { SUPPORTED_LOCALES } from '../../../i18n/src/strings'; import { I18nString } from '../protos'; import { fetchCamouflageDefinitions } from './camouflageDefinitions'; import { fetchTankDefinitions } from './tankDefinitions'; @@ -26,8 +26,8 @@ export async function fetchTankNames() { searchableNameDeburr, camouflages: tank.camouflages ?.map((id) => - SUPPORTED_LOCALES.map( - (locale) => + locales.supported.map( + ({ locale }) => camouflageDefinitions.camouflages[id]?.name.locales[locale], ), ) @@ -42,9 +42,11 @@ export async function fetchTankNames() { } export const SEARCH_KEYS = [ - ...SUPPORTED_LOCALES.map((locale) => [ - `searchableName.locales.${locale}`, - `searchableNameDeburr.locales.${locale}`, - ]).flat(), + ...locales.supported + .map(({ locale }) => [ + `searchableName.locales.${locale}`, + `searchableNameDeburr.locales.${locale}`, + ]) + .flat(), 'camouflages', ]; diff --git a/packages/i18n/src/strings.ts b/packages/i18n/src/strings.ts index 25c022efd..326bd28b9 100644 --- a/packages/i18n/src/strings.ts +++ b/packages/i18n/src/strings.ts @@ -1,89 +1,8 @@ -import { merge } from 'ts-deepmerge'; -import en from '../strings/en.json'; -import es from '../strings/es.json'; -import fr from '../strings/fr.json'; -import ja from '../strings/ja.json'; -import pl from '../strings/pl.json'; -import pt from '../strings/pt.json'; -import ru from '../strings/ru.json'; -import uk from '../strings/uk.json'; -import zh from '../strings/zh.json'; +import type en from '../strings/en.json'; export type BlitzKitStrings = typeof en; -const stringsRaw = { en, es, fr, ja, pl, pt, ru, uk, zh }; - -export const SUPPORTED_LOCALES = Object.keys(stringsRaw) as SupportedLocale[]; - -export const DEFAULT_LOCALE = SUPPORTED_LOCALES[0]; - -function redact(string: string) { - const matches = [...string.matchAll(/%s\d+/g)]; - const characters = string - .split('') - .map((char) => (char === ' ' ? ' ' : 'β–ˆ')) as string[]; - - matches.forEach((match) => { - const start = match.index; - const matchText = match[0]; - for (let i = 0; i < matchText.length; i++) { - characters[start + i] = matchText[i]; - } - }); - - return characters.join(''); -} - -function nuke(object: TranslationTree) { - for (const key in object) { - const typedKey = key as keyof typeof object; - - if (typeof object[typedKey] === 'string') { - const value = object[typedKey]; - object[typedKey] = redact(value as string); - } else nuke(object[typedKey] as TranslationTree); - } -} - -const stringsPartial: Partial> = {}; - -for (const locale in stringsRaw) { - if (locale === DEFAULT_LOCALE) { - stringsPartial[DEFAULT_LOCALE] = stringsRaw[DEFAULT_LOCALE]; - continue; - } - - const localeStrings = stringsRaw[locale as SupportedLocale]; - stringsPartial[locale as SupportedLocale] = merge( - stringsRaw[DEFAULT_LOCALE], - localeStrings, - ); - - if (import.meta.env.PUBLIC_DEBUG_MISSING_I18N === 'true') { - nuke(stringsPartial[locale as SupportedLocale]!); - } -} - -export const STRINGS = stringsPartial as Record< - SupportedLocale, - BlitzKitStrings ->; - -export type SupportedLocale = keyof typeof stringsRaw; - -export const SUPPORTED_LOCALE_BLITZ_MAP: Record = { - en: 'en', - es: 'es', - fr: 'fr', - ja: 'ja', - pt: 'pt', - ru: 'ru', - uk: 'uk', - zh: 'zh-Hans', - pl: 'pl', -}; - -export const SUPPORTED_LOCALE_FLAGS: Record = { +export const SUPPORTED_LOCALE_FLAGS: Record = { en: 'πŸ‡ΊπŸ‡Έ', es: 'πŸ‡ͺπŸ‡Έ', fr: 'πŸ‡«πŸ‡·', @@ -94,7 +13,3 @@ export const SUPPORTED_LOCALE_FLAGS: Record = { zh: 'πŸ‡¨πŸ‡³', pl: 'πŸ‡΅πŸ‡±', }; - -export type TranslationTree = { [key: string]: TranslationNode }; - -export type TranslationNode = string | TranslationTree; diff --git a/packages/i18n/src/unwrapper.ts b/packages/i18n/src/unwrapper.ts index 7c18ae5ba..9a70fa7a9 100644 --- a/packages/i18n/src/unwrapper.ts +++ b/packages/i18n/src/unwrapper.ts @@ -1,5 +1,5 @@ import { I18nString } from '@blitzkit/core'; -import { DEFAULT_LOCALE } from './strings'; +import locales from '../locales.json' with { type: 'json' }; export function unwrapper(locale: string) { return function (i18nString: I18nString) { @@ -7,6 +7,6 @@ export function unwrapper(locale: string) { return i18nString.locales[locale]; } - return i18nString.locales[DEFAULT_LOCALE]; + return i18nString.locales[locales.default]; }; } diff --git a/packages/scripts/src/buildAssets/glossary.ts b/packages/scripts/src/buildAssets/glossary.ts index 4b50d7ff6..d49774527 100644 --- a/packages/scripts/src/buildAssets/glossary.ts +++ b/packages/scripts/src/buildAssets/glossary.ts @@ -1,5 +1,5 @@ import { Avatar, encodePBBuffer, fetchGlossary, Gallery } from '@blitzkit/core'; -import locales from '@blitzkit/i18n/locales.json'; +import locales from '@blitzkit/i18n/locales.json' with { type: 'json' }; import { extname } from 'path'; import ProgressBar from 'progress'; import { commitAssets } from '../core/github/commitAssets'; diff --git a/packages/website/astro.config.mjs b/packages/website/astro.config.mjs index 45bd1c5dc..003437b48 100644 --- a/packages/website/astro.config.mjs +++ b/packages/website/astro.config.mjs @@ -3,13 +3,13 @@ import partytown from '@astrojs/partytown'; import react from '@astrojs/react'; import sitemap from '@astrojs/sitemap'; -import { SUPPORTED_LOCALES } from '@blitzkit/i18n'; +import locales from '@blitzkit/i18n/locales.json' with { type: 'json' }; import { defineConfig } from 'astro/config'; export default defineConfig({ i18n: { - defaultLocale: 'en', - locales: [...SUPPORTED_LOCALES], + defaultLocale: locales.default, + locales: locales.supported.map(({ locale }) => locale), routing: { prefixDefaultLocale: false, }, diff --git a/packages/website/package.json b/packages/website/package.json index f6cae1d5d..a962c474e 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -12,19 +12,19 @@ "dependencies": { "@astrojs/partytown": "^2.1.4", "@astrolib/seo": "^1.0.0-beta.8", + "@blitzkit/closed": "workspace:*", "@blitzkit/core": "workspace:*", "@blitzkit/i18n": "workspace:*", - "@blitzkit/closed": "workspace:*", "@fontsource/inter": "^5.2.5", "@nanostores/persistent": "^0.10.2", "@nanostores/react": "^0.7.3", "@nivo/bar": "^0.87.0", "@nivo/line": "^0.88.0", "@radix-ui/colors": "^3.0.0", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/themes": "^3.1.4", - "@react-three/drei": "^9.115.0", - "@react-three/fiber": "^8.17.10", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/themes": "^3.2.1", + "@react-three/drei": "^10.0.8", + "@react-three/fiber": "^9.1.2", "compare-versions": "^6.1.1", "echarts": "^5.5.1", "immer": "^10.1.1", @@ -32,9 +32,7 @@ "markdown-to-jsx": "^7.5.0", "nanostores": "^0.11.3", "quicklime": "^1.2.0", - "react": "^18.3.1", "react-device-detect": "^2.2.3", - "react-dom": "^18.3.1", "react-promise-suspense": "^0.3.4", "three": "^0.169.0", "urlon": "^3.1.0", @@ -47,10 +45,7 @@ "@playform/compress": "^0.1.9", "@playform/inline": "^0.1.2", "@types/js-cookie": "^3.0.6", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", "@types/three": "^0.160.0", - "astro": "^4.16.7", - "astro-compressor": "^1.0.0" + "astro": "^4.16.7" } } diff --git a/packages/website/src/components/Gallery/List.tsx b/packages/website/src/components/Gallery/List.tsx index f6638f3a6..a87186cdf 100644 --- a/packages/website/src/components/Gallery/List.tsx +++ b/packages/website/src/components/Gallery/List.tsx @@ -1,4 +1,4 @@ -import locales from '@blitzkit/i18n/locales.json'; +import locales from '@blitzkit/i18n/locales.json' with { type: 'json' }; import { literals } from '@blitzkit/i18n/src/literals'; import { Flex, Text } from '@radix-ui/themes'; import fuzzysort from 'fuzzysort'; diff --git a/packages/website/src/components/HomeHero.astro b/packages/website/src/components/HomeHero.astro index d4b799e14..b5f02f6b0 100644 --- a/packages/website/src/components/HomeHero.astro +++ b/packages/website/src/components/HomeHero.astro @@ -7,10 +7,10 @@ import type { BlitzKitStrings } from 'packages/i18n/src'; interface Props { locale: string; - strings: BlitzKitStrings; } -const { strings, locale } = Astro.props; +const { locale } = Astro.props; +const strings = await getStrings(locale); const branchName = resolveBranchName(locale); const isBranchNamed = branchName !== undefined; --- diff --git a/packages/website/src/components/TanksEmbed.tsx b/packages/website/src/components/TanksEmbed.tsx index 6172801d7..fe515aa66 100644 --- a/packages/website/src/components/TanksEmbed.tsx +++ b/packages/website/src/components/TanksEmbed.tsx @@ -6,7 +6,6 @@ import { type CompositeStats, type CompositeStatsKey, } from '@blitzkit/core'; -import strings from '@blitzkit/i18n/strings/en.json'; import { amberDark, blueDark } from '@radix-ui/colors'; import { Flex, Text, type FlexProps } from '@radix-ui/themes'; import { times } from 'lodash-es'; @@ -53,7 +52,7 @@ export function BreakdownEmbedCard({ }: BreakdownEmbedCardProps) { const { useEmbedState, useRichText } = useEmbedStateCurry(); - const { unwrap } = useLocale(); + const { unwrap, strings } = useLocale(); return ( { + console.log(data); + }, []); + return 'TestComponent'; } diff --git a/packages/website/src/core/blitz/discreteMetadata.ts b/packages/website/src/core/blitz/discreteMetadata.ts new file mode 100644 index 000000000..ad2b97025 --- /dev/null +++ b/packages/website/src/core/blitz/discreteMetadata.ts @@ -0,0 +1,3 @@ +import { DiscreteMetadataAccessor } from 'packages/core/src'; + +export const discreteMetadata = new DiscreteMetadataAccessor('/api/catalog'); diff --git a/packages/website/src/core/blitz/metadata.ts b/packages/website/src/core/blitz/unpackedMetadata.ts similarity index 55% rename from packages/website/src/core/blitz/metadata.ts rename to packages/website/src/core/blitz/unpackedMetadata.ts index b7fd2b008..6fd18d1ba 100644 --- a/packages/website/src/core/blitz/metadata.ts +++ b/packages/website/src/core/blitz/unpackedMetadata.ts @@ -1,11 +1,8 @@ -import { - MetadataAccessor, - requestAutoProxyClient, - unpackMetadata, -} from '@blitzkit/closed'; +import { requestAutoProxyClient, unpackMetadata } from '@blitzkit/closed'; import type { GetPackedMetadataAsyncResponse } from '@blitzkit/closed/src/unreal/protos/auto_legacy_proxy_client'; +import { UnpackedMetadataAccessor } from 'packages/core/src'; -export const metadata = new MetadataAccessor( +export const unpackedMetadata = new UnpackedMetadataAccessor( await requestAutoProxyClient( 'GetPackedMetadataAsyncRequest', ).then(unpackMetadata), diff --git a/packages/website/src/core/i18n/getStrings.ts b/packages/website/src/core/i18n/getStrings.ts index 64b7395ab..af0dfde56 100644 --- a/packages/website/src/core/i18n/getStrings.ts +++ b/packages/website/src/core/i18n/getStrings.ts @@ -1,6 +1,8 @@ -import { STRINGS, type SupportedLocale } from '@blitzkit/i18n'; +import en from '@strings/en.json' with { type: 'json' }; +import { merge } from 'lodash-es'; +import type { BlitzKitStrings } from 'packages/i18n/src'; -export function getStrings(locale: string) { - if (locale in STRINGS) return STRINGS[locale as SupportedLocale]; - throw new Error(`Unsupported locale: ${locale}`); +export async function getStrings(locale: string) { + const strings = await import(`../../../../i18n/strings/${locale}.json`); + return merge({}, en, strings) as BlitzKitStrings; } diff --git a/packages/website/src/hooks/useLocale.tsx b/packages/website/src/hooks/useLocale.tsx index a7189ad3b..864eae90b 100644 --- a/packages/website/src/hooks/useLocale.tsx +++ b/packages/website/src/hooks/useLocale.tsx @@ -1,41 +1,30 @@ -import { type BlitzKitStrings } from '@blitzkit/i18n'; -import { createContext, useContext, type ReactNode } from 'react'; - -interface LocaleContextContent { - locale: string; - strings: BlitzKitStrings; - gameStrings: Record; -} - -type LocaleContextData = Omit & { - gameStrings?: Record; -}; - -const LocaleContext = createContext(null); +import locales from '@blitzkit/i18n/locales.json' with { type: 'json' }; +import type { BlitzKitStrings } from 'packages/i18n/src'; +import { createContext, use, useContext } from 'react'; +const LocaleContext = createContext(null); interface LocaleProviderProps { - data: LocaleContextData; - children: ReactNode; + locale: string; + children: React.ReactNode; } -export function LocaleProvider({ data, children }: LocaleProviderProps) { +export function LocaleProvider({ locale, children }: LocaleProviderProps) { + const isSupported = locales.supported.some( + (supported) => supported.locale === locale, + ); + + if (!isSupported) throw new Error(`Unsupported locale: ${locale}`); + return ( - - {children} - + {children} ); } export function useLocale() { - const context = useContext(LocaleContext); + const locale = useContext(LocaleContext); + const strings = use( + fetch(`/api/strings/${locale}.json`).then((response) => response.json()), + ); - if (!context) { - throw new Error('useLocale must be used within a LocaleProvider'); - } - - return context; -} - -export interface LocaleAcceptorProps { - localeContext: LocaleContextContent; + return { locale, strings }; } diff --git a/packages/website/src/layouts/BaseLayout.astro b/packages/website/src/layouts/BaseLayout.astro index 7e753bc47..9b8dabf4f 100644 --- a/packages/website/src/layouts/BaseLayout.astro +++ b/packages/website/src/layouts/BaseLayout.astro @@ -7,16 +7,17 @@ import Navbar from '../components/Navbar.astro'; import Party3 from '../components/Party3.astro'; import './base.css'; import type { BlitzKitStrings } from 'packages/i18n/src'; +import { getStrings } from '../core/i18n/getStrings'; export interface Props { noFooter?: boolean; noNavbar?: boolean; integrated?: boolean; locale: string; - strings: BlitzKitStrings; } -const { noFooter, noNavbar, integrated, locale, strings } = Astro.props; +const { noFooter, noNavbar, integrated, locale } = Astro.props; +const strings = await getStrings(locale); --- @@ -30,25 +31,26 @@ const { noFooter, noNavbar, integrated, locale, strings } = Astro.props;