fix: port to core 4

This commit is contained in:
TrèsAbhi committed 2024-09-08 10:42:34 -05:00
1 parent de6a4d5675
commit 3d23ea1497
68 files changed
+122 -119

No files matched your search

@@ -1,10 +1,12 @@
import { tankDefinitions, TankVotes, usersDatabase } from '@blitzkit/core';
import { isValidBlitzId } from '@blitzkit/core/src/blitz/isValidBlitzId';
import { NextRequest, NextResponse } from 'next/server';
import { import {
BlitzkitResponse, BlitzkitResponse,
BlitzkitResponseError, BlitzkitResponseError,
} from '../../../../../../website/src/hooks/useTankVotes'; tankDefinitions,
TankVotes,
usersDatabase,
} from '@blitzkit/core';
import { isValidBlitzId } from '@blitzkit/core/src/blitz/isValidBlitzId';
import { NextRequest, NextResponse } from 'next/server';
export async function GET( export async function GET(
request: NextRequest, request: NextRequest,
@@ -1,4 +1,7 @@
import { import {
BlitzkitResponse,
BlitzkitResponseError,
StarsInt,
TANK_VOTE_CATEGORIES, TANK_VOTE_CATEGORIES,
tankDefinitions, tankDefinitions,
TankVoteCategory, TankVoteCategory,
@@ -6,11 +9,6 @@ import {
} from '@blitzkit/core'; } from '@blitzkit/core';
import { isValidBlitzId } from '@blitzkit/core/src/blitz/isValidBlitzId'; import { isValidBlitzId } from '@blitzkit/core/src/blitz/isValidBlitzId';
import { NextRequest, NextResponse } from 'next/server'; import { NextRequest, NextResponse } from 'next/server';
import { StarsInt } from '../../../../../../website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/components/Stars';
import {
BlitzkitResponse,
BlitzkitResponseError,
} from '../../../../../../website/src/hooks/useTankVotes';
export async function GET( export async function GET(
request: NextRequest, request: NextRequest,
@@ -13,12 +13,12 @@ import {
} from '@blitzkit/core'; } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { chunk } from 'lodash'; import { chunk } from 'lodash';
import { UserError } from '../../../../website/src/hooks/userError';
import * as Breakdown from '../../components/Breakdown'; import * as Breakdown from '../../components/Breakdown';
import { CommandWrapper } from '../../components/CommandWrapper'; import { CommandWrapper } from '../../components/CommandWrapper';
import { NoData } from '../../components/NoData'; import { NoData } from '../../components/NoData';
import { TitleBar } from '../../components/TitleBar'; import { TitleBar } from '../../components/TitleBar';
import { filtersToDescription } from '../../core/blitzkit/filtersToDescription'; import { filtersToDescription } from '../../core/blitzkit/filtersToDescription';
import { UserError } from '../../core/blitzkit/userError';
import { getStatsInPeriod } from '../../core/blitzstars/getStatsInPeriod'; import { getStatsInPeriod } from '../../core/blitzstars/getStatsInPeriod';
import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand'; import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand';
import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand'; import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand';
+1 -2
View File
@@ -1,6 +1,5 @@
import { getAccountInfo, getClanAccountInfo } from '@blitzkit/core'; import { emblemURL, getAccountInfo, getClanAccountInfo } from '@blitzkit/core';
import { Locale, SlashCommandSubcommandGroupBuilder } from 'discord.js'; import { Locale, SlashCommandSubcommandGroupBuilder } from 'discord.js';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import * as Graph from '../components/Graph'; import * as Graph from '../components/Graph';
import { LineColor } from '../components/Graph/components/Line/constants'; import { LineColor } from '../components/Graph/components/Line/constants';
+1 -1
View File
@@ -1,12 +1,12 @@
import { import {
StatFilters, StatFilters,
emblemURL,
filterStats, filterStats,
getAccountInfo, getAccountInfo,
getClanAccountInfo, getClanAccountInfo,
getTierWeights, getTierWeights,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { GenericAllStats } from '../components/GenericAllStats'; import { GenericAllStats } from '../components/GenericAllStats';
import { NoData } from '../components/NoData'; import { NoData } from '../components/NoData';
+5 -2
View File
@@ -1,6 +1,9 @@
import { getAccountInfo, getClanAccountInfo } from '@blitzkit/core'; import {
getAccountInfo,
getClanAccountInfo,
linkBlitzAndDiscord,
} from '@blitzkit/core';
import { teal } from '@radix-ui/colors'; import { teal } from '@radix-ui/colors';
import { linkBlitzAndDiscord } from '../../../website/src/core/blitzkit/linkBlitzAndDiscord';
import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow'; import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { addUsernameChoices } from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
+1 -1
View File
@@ -1,6 +1,7 @@
import { import {
BkrlFormat, BkrlFormat,
deltaBkrlBlitzStats, deltaBkrlBlitzStats,
emblemURL,
getAccountInfo, getAccountInfo,
getArchivedRatingMidnightLeaderboard, getArchivedRatingMidnightLeaderboard,
getClanAccountInfo, getClanAccountInfo,
@@ -10,7 +11,6 @@ import {
} from '@blitzkit/core'; } from '@blitzkit/core';
import { SlashCommandSubcommandBuilder } from 'discord.js'; import { SlashCommandSubcommandBuilder } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow'; import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { DeltaCaret } from '../components/DeltaCaret'; import { DeltaCaret } from '../components/DeltaCaret';
@@ -10,6 +10,7 @@ import {
getRatingInfo, getRatingInfo,
getRatingLeague, getRatingLeague,
getRatingNeighbors, getRatingNeighbors,
isOnGoingRatingSeason,
LEAGUES, LEAGUES,
RatingInfo, RatingInfo,
Region, Region,
@@ -21,11 +22,10 @@ import {
} from 'discord.js'; } from 'discord.js';
import { range } from 'lodash'; import { range } from 'lodash';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { isOnGoingRatingSeason } from '../../../website/src/core/blitz/isOnGoingRatingSeason';
import { UserError } from '../../../website/src/hooks/userError';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import * as Leaderboard from '../components/Leaderboard'; import * as Leaderboard from '../components/Leaderboard';
import { TitleBar } from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import { UserError } from '../core/blitzkit/userError';
import { addRegionChoices } from '../core/discord/addRegionChoices'; import { addRegionChoices } from '../core/discord/addRegionChoices';
import { addUsernameChoices } from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import { autocompleteUsername } from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
+2 -2
View File
@@ -1,15 +1,15 @@
import { import {
blitzStarsTankAverages, blitzStarsTankAverages,
calculateWN8, calculateWN8,
emblemURL,
getClanAccountInfo, getClanAccountInfo,
idToRegion, idToRegion,
mapDefinitions,
tankDefinitions, tankDefinitions,
tankIcon, tankIcon,
TIER_ROMAN_NUMERALS, TIER_ROMAN_NUMERALS,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { clamp } from 'lodash'; import { clamp } from 'lodash';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { mapDefinitions } from '../../../website/src/core/blitzkit/mapDefinitions';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { TitleBar } from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import { iconPng } from '../core/blitzkit/iconPng'; import { iconPng } from '../core/blitzkit/iconPng';
+4 -4
View File
@@ -1,5 +1,6 @@
import { import {
asset, asset,
emblemURL,
equipmentPriceMatrix, equipmentPriceMatrix,
getAccountInfo, getAccountInfo,
getClanAccountInfo, getClanAccountInfo,
@@ -9,14 +10,13 @@ import {
TIER_ROMAN_NUMERALS, TIER_ROMAN_NUMERALS,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { escapeMarkdown, Locale } from 'discord.js'; import { escapeMarkdown, Locale } from 'discord.js';
import { buildTechTreeLine } from '../../../website/src/core/blitzkit/buildTechTreeLine';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { resolveAncestry } from '../../../website/src/core/blitzkit/resolveAncestry';
import { tankIconPng } from '../../../website/src/core/blitzkit/tankIconPng';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { TitleBar } from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import { resolveTankId } from '../core/blitz/resolveTankId'; import { resolveTankId } from '../core/blitz/resolveTankId';
import { buildTechTreeLine } from '../core/blitzkit/buildTechTreeLine';
import { iconPng } from '../core/blitzkit/iconPng'; import { iconPng } from '../core/blitzkit/iconPng';
import { resolveAncestry } from '../core/blitzkit/resolveAncestry';
import { tankIconPng } from '../core/blitzkit/tankIconPng';
import { addUsernameChoices } from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import { autocompleteTanks } from '../core/discord/autocompleteTanks'; import { autocompleteTanks } from '../core/discord/autocompleteTanks';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
+1 -1
View File
@@ -1,11 +1,11 @@
import { import {
StatFilters, StatFilters,
emblemURL,
filterStats, filterStats,
getAccountInfo, getAccountInfo,
getClanAccountInfo, getClanAccountInfo,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { AllStatsOverview } from '../components/AllStatsOverview'; import { AllStatsOverview } from '../components/AllStatsOverview';
import { CommandWrapper } from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { NoData } from '../components/NoData'; import { NoData } from '../components/NoData';
+1 -1
View File
@@ -2,7 +2,7 @@ import { tankDefinitions, tankNames } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { go } from 'fuzzysort'; import { go } from 'fuzzysort';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { UserError } from '../../../../website/src/hooks/userError'; import { UserError } from '../blitzkit/userError';
import { tankNamesTechTreeOnly } from '../discord/autocompleteTanks'; import { tankNamesTechTreeOnly } from '../discord/autocompleteTanks';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
@@ -1,5 +1,4 @@
import { idToRegion, usersDatabase } from '@blitzkit/core'; import { flagUserActivity, idToRegion, usersDatabase } from '@blitzkit/core';
import { flagUserActivity } from '../../../../website/src/core/blitzkit/flagUserActivity';
export async function getBlitzFromDiscord(discordId: bigint) { export async function getBlitzFromDiscord(discordId: bigint) {
const unique = await usersDatabase.discordUser.findUnique({ const unique = await usersDatabase.discordUser.findUnique({
@@ -1,5 +1,4 @@
import { Region } from '@blitzkit/core'; import { getTimeDaysAgo, Region } from '@blitzkit/core';
import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import { PeriodSize } from '../discord/addPeriodSubCommands'; import { PeriodSize } from '../discord/addPeriodSubCommands';
export function getPeriodStart(region: Region, period: PeriodSize) { export function getPeriodStart(region: Region, period: PeriodSize) {
@@ -1,12 +1,12 @@
import { Region, emptyAllStats, getTankStats } from '@blitzkit/core'; import { Region, emptyAllStats, getTankStats } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { UserError } from '../../../../website/src/hooks/userError';
import { import {
GetHistoriesOptions, GetHistoriesOptions,
Histories, Histories,
History, History,
getHistoriesDefaultOptions, getHistoriesDefaultOptions,
} from '../../types/histories'; } from '../../types/histories';
import { UserError } from '../blitzkit/userError';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
export interface TankHistory extends History { export interface TankHistory extends History {
@@ -1,9 +1,9 @@
import { Region, searchClansAcrossRegions } from '@blitzkit/core'; import { Region, searchClansAcrossRegions } from '@blitzkit/core';
import { ChatInputCommandInteraction } from 'discord.js'; import { ChatInputCommandInteraction } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { UserError } from '../../../../website/src/hooks/userError';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { serverAndIdPattern } from './resolvePlayerFromCommand/constants'; import { serverAndIdPattern } from './resolvePlayerFromCommand/constants';
import { UserError } from '../blitzkit/userError';
export async function resolveClanFromCommand( export async function resolveClanFromCommand(
interaction: ChatInputCommandInteraction, interaction: ChatInputCommandInteraction,
@@ -1,6 +1,5 @@
import { Region } from '@blitzkit/core'; import { getTimeDaysAgo, Region } from '@blitzkit/core';
import { ButtonInteraction } from 'discord.js'; import { ButtonInteraction } from 'discord.js';
import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import { getPeriodNow } from '../blitzkit/getPeriodNow'; import { getPeriodNow } from '../blitzkit/getPeriodNow';
import { getPeriodStart } from '../blitzkit/getPeriodStart'; import { getPeriodStart } from '../blitzkit/getPeriodStart';
import { PeriodType } from './addPeriodSubCommands'; import { PeriodType } from './addPeriodSubCommands';
@@ -1,6 +1,5 @@
import { Region } from '@blitzkit/core'; import { getTimeDaysAgo, Region } from '@blitzkit/core';
import { CacheType, ChatInputCommandInteraction } from 'discord.js'; import { CacheType, ChatInputCommandInteraction } from 'discord.js';
import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import { getPeriodNow } from '../blitzkit/getPeriodNow'; import { getPeriodNow } from '../blitzkit/getPeriodNow';
import { getPeriodStart } from '../blitzkit/getPeriodStart'; import { getPeriodStart } from '../blitzkit/getPeriodStart';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
@@ -1,10 +1,10 @@
import { Region, searchPlayersAcrossRegions } from '@blitzkit/core'; import { Region, searchPlayersAcrossRegions } from '@blitzkit/core';
import { CacheType, ChatInputCommandInteraction } from 'discord.js'; import { CacheType, ChatInputCommandInteraction } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { UserError } from '../../../../../website/src/hooks/userError';
import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord'; import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord';
import { translator } from '../../localization/translator'; import { translator } from '../../localization/translator';
import { serverAndIdPattern } from './constants'; import { serverAndIdPattern } from './constants';
import { UserError } from '../../blitzkit/userError';
export interface ResolvedPlayer { export interface ResolvedPlayer {
region: Region; region: Region;
@@ -8,13 +8,13 @@ import {
InteractionReplyOptions, InteractionReplyOptions,
} from 'discord.js'; } from 'discord.js';
import { InteractionRawReturnable, commands } from '..'; import { InteractionRawReturnable, commands } from '..';
import { UserError } from '../../../../../website/src/hooks/userError';
import { buttonLink } from '../../../core/discord/buttonLink'; import { buttonLink } from '../../../core/discord/buttonLink';
import { embedWarning } from '../../../core/discord/embedWarning'; import { embedWarning } from '../../../core/discord/embedWarning';
import { normalizeInteractionReturnable } from '../../../core/discord/normalizeInteractionReturnable'; import { normalizeInteractionReturnable } from '../../../core/discord/normalizeInteractionReturnable';
import { psa } from '../../../core/discord/psa'; import { psa } from '../../../core/discord/psa';
import { translator } from '../../../core/localization/translator'; import { translator } from '../../../core/localization/translator';
import { Writeable } from '../../../types/writable'; import { Writeable } from '../../../types/writable';
import { UserError } from '../../../core/blitzkit/userError';
export async function handleChatInputCommand( export async function handleChatInputCommand(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
+1 -2
View File
@@ -28,5 +28,4 @@ export * from './resolveNearPenetration';
export * from './searchClansAcrossRegions'; export * from './searchClansAcrossRegions';
export * from './searchCurrentRatingPlayers'; export * from './searchCurrentRatingPlayers';
export * from './searchPlayersAcrossRegions'; export * from './searchPlayersAcrossRegions';
export * from './toUniqueId'; export * from './toUniqueId';
export * from './writeDVPL';
+1 -3
View File
@@ -1,3 +1,4 @@
export * from '../../../website/src/core/blitzkit/tankCharacteristics';
export * from './assertSecret'; export * from './assertSecret';
export * from './asset'; export * from './asset';
export * from './availableProvisions'; export * from './availableProvisions';
@@ -14,7 +15,6 @@ export * from './emblemURL';
export * from './equipmentDefinitions'; export * from './equipmentDefinitions';
export * from './eventManager'; export * from './eventManager';
export * from './fetchCdonLz4'; export * from './fetchCdonLz4';
export * from './filterTank';
export * from './flagUserActivity'; export * from './flagUserActivity';
export * from './gameDefinitions'; export * from './gameDefinitions';
export * from './getArchivedLatestSeasonNumber'; export * from './getArchivedLatestSeasonNumber';
@@ -27,7 +27,6 @@ export * from './linkBlitzAndDiscord';
export * from './mapDefinitions'; export * from './mapDefinitions';
export * from './modelDefinitions'; export * from './modelDefinitions';
export * from './normalizeBoundingBox'; export * from './normalizeBoundingBox';
export * from './octokit';
export * from './parseBkni'; export * from './parseBkni';
export * from './patientFetch'; export * from './patientFetch';
export * from './patientFetchJSON'; export * from './patientFetchJSON';
@@ -40,7 +39,6 @@ export * from './skillDefinitions';
export * from './sum'; export * from './sum';
export * from './superCompress'; export * from './superCompress';
export * from './superDecompress'; export * from './superDecompress';
export * from './tankCharacteristics';
export * from './tankDefinitions'; export * from './tankDefinitions';
export * from './tankIcon'; export * from './tankIcon';
export * from './tankNames'; export * from './tankNames';
@@ -1,4 +1,3 @@
import { BlitzkitResponse } from '../../../website/src/hooks/useTankVotes';
export function unwrapBlitzkitResponse<Data>(response: BlitzkitResponse<Data>) { export function unwrapBlitzkitResponse<Data>(response: BlitzkitResponse<Data>) {
if (response.status === 'error') { if (response.status === 'error') {
@@ -7,3 +6,14 @@ export function unwrapBlitzkitResponse<Data>(response: BlitzkitResponse<Data>) {
return response.data; return response.data;
} }
export interface BlitzkitResponseError {
status: 'error';
error: string;
message?: unknown;
}
export type BlitzkitResponse<Data = undefined> =
| BlitzkitResponseError
| {
status: 'ok';
data: Data;
};
+1
View File
@@ -10,3 +10,4 @@ export const TANK_VOTE_CATEGORIES = [
'survivability', 'survivability',
]; ];
export type TankVoteCategory = (typeof TANK_VOTE_CATEGORIES)[number]; export type TankVoteCategory = (typeof TANK_VOTE_CATEGORIES)[number];
export type StarsInt = 1 | 2 | 3 | 4 | 5;
-1
View File
@@ -10,4 +10,3 @@ export * from './radix';
export * from './statistics'; export * from './statistics';
export * from './streams'; export * from './streams';
export * from './types'; export * from './types';
export * from './zustand';
-1
View File
@@ -1 +0,0 @@
export * from './createNextSafeStore';
+5 -1
View File
@@ -1,4 +1,8 @@
{ {
"extends": "../../tsconfig.json", "extends": "../../tsconfig.json",
"include": ["src/**/*", "../bot/src/core/blitzkit/tankIconPng.ts"] "include": [
"src/**/*",
"../website/src/core/blitzkit/filterTank.ts",
"../website/src/core/blitzkit/tankCharacteristics.ts"
, "../scripts/src/core/blitz/writeDVPL.ts" ]
} }
+2 -2
View File
@@ -1,13 +1,13 @@
import { assertSecret } from '@blitzkit/core';
import { mkdir, writeFile } from 'fs/promises'; import { mkdir, writeFile } from 'fs/promises';
import { parse as parsePath } from 'path'; import { parse as parsePath } from 'path';
import ProgressBar from 'progress'; import ProgressBar from 'progress';
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml'; import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
import { dvp } from '../../../submodules/blitzkit-closed/src/dvp'; import { dvp } from '../../../submodules/blitzkit-closed/src/dvp';
import { writeDVPL } from '../../website/src/core/blitz/writeDVPL';
import { readStringDVPL } from '../src/core/blitz/readStringDVPL'; import { readStringDVPL } from '../src/core/blitz/readStringDVPL';
import { DATA } from './buildAssets/constants'; import { DATA } from './buildAssets/constants';
import { readYAMLDVPL } from './core/blitz/readYAMLDVPL'; import { readYAMLDVPL } from './core/blitz/readYAMLDVPL';
import { assertSecret } from '@blitzkit/core';
import { writeDVPL } from './core/blitz/writeDVPL';
const versionTextFile = await readStringDVPL(`${DATA}/version.txt.dvpl`); const versionTextFile = await readStringDVPL(`${DATA}/version.txt.dvpl`);
const currentVersion = versionTextFile const currentVersion = versionTextFile
@@ -10,6 +10,7 @@ import {
EquipmentRow, EquipmentRow,
GameDefinitions, GameDefinitions,
GunDefinition, GunDefinition,
MapDefinitions,
ModelArmor, ModelArmor,
ModelDefinitions, ModelDefinitions,
ProvisionDefinitions, ProvisionDefinitions,
@@ -22,14 +23,13 @@ import {
TankFilterDefinitionCategory, TankFilterDefinitionCategory,
TankPrice, TankPrice,
Tier, Tier,
toUniqueId,
Unlock, Unlock,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { readdir } from 'fs/promises'; import { readdir } from 'fs/promises';
import { parse as parsePath } from 'path'; import { parse as parsePath } from 'path';
import { Vector3Tuple } from 'three'; import { Vector3Tuple } from 'three';
import { parse as parseYaml } from 'yaml'; import { parse as parseYaml } from 'yaml';
import { toUniqueId } from '../../../website/src/core/blitz/toUniqueId';
import { MapDefinitions } from '../../../website/src/core/blitzkit/mapDefinitions';
import { readStringDVPL } from '../core/blitz/readStringDVPL'; import { readStringDVPL } from '../core/blitz/readStringDVPL';
import { readXMLDVPL } from '../core/blitz/readXMLDVPL'; import { readXMLDVPL } from '../core/blitz/readXMLDVPL';
import { readYAMLDVPL } from '../core/blitz/readYAMLDVPL'; import { readYAMLDVPL } from '../core/blitz/readYAMLDVPL';
@@ -1,12 +1,12 @@
import { NodeIO } from '@gltf-transform/core'; import { NodeIO } from '@gltf-transform/core';
import { readdir } from 'fs/promises'; import { readdir } from 'fs/promises';
import { toUniqueId } from '../../../website/src/core/blitz/toUniqueId';
import { extractArmor } from '../core/blitz/extractArmor'; import { extractArmor } from '../core/blitz/extractArmor';
import { readXMLDVPL } from '../core/blitz/readXMLDVPL'; import { readXMLDVPL } from '../core/blitz/readXMLDVPL';
import { commitAssets } from '../core/github/commitAssets'; import { commitAssets } from '../core/github/commitAssets';
import { FileChange } from '../core/github/commitMultipleFiles'; import { FileChange } from '../core/github/commitMultipleFiles';
import { DATA } from './constants'; import { DATA } from './constants';
import { VehicleDefinitionList } from './definitions'; import { VehicleDefinitionList } from './definitions';
import { toUniqueId } from '@blitzkit/core';
export async function tankArmors() { export async function tankArmors() {
console.log('Building tank armors...'); console.log('Building tank armors...');
@@ -1,6 +1,6 @@
import { toUniqueId } from '@blitzkit/core';
import { NodeIO } from '@gltf-transform/core'; import { NodeIO } from '@gltf-transform/core';
import { readdir } from 'fs/promises'; import { readdir } from 'fs/promises';
import { toUniqueId } from '../../../website/src/core/blitz/toUniqueId';
import { extractModel } from '../core/blitz/extractModel'; import { extractModel } from '../core/blitz/extractModel';
import { readXMLDVPL } from '../core/blitz/readXMLDVPL'; import { readXMLDVPL } from '../core/blitz/readXMLDVPL';
import { readYAMLDVPL } from '../core/blitz/readYAMLDVPL'; import { readYAMLDVPL } from '../core/blitz/readYAMLDVPL';
@@ -6,6 +6,7 @@ import {
CdonValue, CdonValue,
CdonWriteStream, CdonWriteStream,
getAccountInfo, getAccountInfo,
patientFetchJSON,
RatingInfo, RatingInfo,
RatingNeighbors, RatingNeighbors,
RatingPlayer, RatingPlayer,
@@ -15,7 +16,6 @@ import {
} from '@blitzkit/core'; } from '@blitzkit/core';
import { chunk } from 'lodash'; import { chunk } from 'lodash';
import { argv } from 'process'; import { argv } from 'process';
import { patientFetchJSON } from '../../website/src/core/blitzkit/patientFetchJSON';
import { commitAssets } from './core/github/commitAssets'; import { commitAssets } from './core/github/commitAssets';
import { FileChange } from './core/github/commitMultipleFiles'; import { FileChange } from './core/github/commitMultipleFiles';
@@ -1,6 +1,6 @@
import { assertSecret } from '@blitzkit/core'; import { assertSecret } from '@blitzkit/core';
import { octokit } from '../../../../website/src/core/blitzkit/octokit';
import { GithubChangeBlob, createBlob } from './createBlob'; import { GithubChangeBlob, createBlob } from './createBlob';
import { octokit } from './octokit';
export class AssetCommit { export class AssetCommit {
constructor(public message: string) {} constructor(public message: string) {}
@@ -1,6 +1,6 @@
import ProgressBar from 'progress'; import ProgressBar from 'progress';
import { octokit } from '../../../../website/src/core/blitzkit/octokit';
import { GithubChangeBlob, createBlob } from './createBlob'; import { GithubChangeBlob, createBlob } from './createBlob';
import { octokit } from './octokit';
export interface FileChange { export interface FileChange {
path: string; path: string;
@@ -1,6 +1,6 @@
import { throttle } from 'lodash'; import { throttle } from 'lodash';
import { octokit } from '../../../../website/src/core/blitzkit/octokit';
import { FileChange } from './commitMultipleFiles'; import { FileChange } from './commitMultipleFiles';
import { octokit } from './octokit';
export interface GithubChangeBlob { export interface GithubChangeBlob {
sha: string; sha: string;
@@ -1,8 +1,11 @@
import { asset, DidsReadStream } from '@blitzkit/core'; import {
asset,
DidsReadStream,
DiscoveredIdsDefinitions,
} from '@blitzkit/core';
import { times } from 'lodash'; import { times } from 'lodash';
import { decompress } from 'lz4js'; import { decompress } from 'lz4js';
import ProgressBar from 'progress'; import ProgressBar from 'progress';
import { DiscoveredIdsDefinitions } from '../../../../website/src/core/blitzkit/discoveredIdDefinitions';
export async function fetchPreDiscoveredIds() { export async function fetchPreDiscoveredIds() {
const idChunks: number[][] = []; const idChunks: number[][] = [];
+1 -1
View File
@@ -1,6 +1,7 @@
import { import {
DidsReadStream, DidsReadStream,
DidsWriteStream, DidsWriteStream,
DiscoveredIdsDefinitions,
MIN_REGION_IDS, MIN_REGION_IDS,
REGIONS, REGIONS,
Region, Region,
@@ -11,7 +12,6 @@ import {
} from '@blitzkit/core'; } from '@blitzkit/core';
import { chunk, times, uniq } from 'lodash'; import { chunk, times, uniq } from 'lodash';
import { compress, decompress } from 'lz4js'; import { compress, decompress } from 'lz4js';
import { DiscoveredIdsDefinitions } from '../../website/src/core/blitzkit/discoveredIdDefinitions';
import { commitAssets } from './core/github/commitAssets'; import { commitAssets } from './core/github/commitAssets';
const CHUNK_SIZE = 2 ** 21; const CHUNK_SIZE = 2 ** 21;
+1 -1
View File
@@ -3,6 +3,7 @@ import {
decodeProtobuf, decodeProtobuf,
encodeProtobufToBase64, encodeProtobufToBase64,
Reviews, Reviews,
toUniqueId,
Video, Video,
youtubers, youtubers,
} from '@blitzkit/core'; } from '@blitzkit/core';
@@ -10,7 +11,6 @@ import { readdir } from 'fs/promises';
import { google } from 'googleapis'; import { google } from 'googleapis';
import { cloneDeep, uniqBy } from 'lodash'; import { cloneDeep, uniqBy } from 'lodash';
import { parse as parseYaml } from 'yaml'; import { parse as parseYaml } from 'yaml';
import { toUniqueId } from '../../website/src/core/blitz/toUniqueId';
import { DATA } from './buildAssets/constants'; import { DATA } from './buildAssets/constants';
import { import {
BlitzStrings, BlitzStrings,
@@ -1,10 +1,9 @@
'use client'; 'use client';
import { averageDefinitions, formatCompact } from '@blitzkit/core'; import { averageDefinitions, discoveredIdsDefinitions, formatCompact } from '@blitzkit/core';
import { InfoCircledIcon } from '@radix-ui/react-icons'; import { InfoCircledIcon } from '@radix-ui/react-icons';
import { Callout, Flex } from '@radix-ui/themes'; import { Callout, Flex } from '@radix-ui/themes';
import { use } from 'react'; import { use } from 'react';
import { discoveredIdsDefinitions } from '../../../../core/blitzkit/discoveredIdDefinitions';
export function Info() { export function Info() {
const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions); const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions);
@@ -2,7 +2,6 @@
import { import {
averageDefinitionsArray, averageDefinitionsArray,
filterTank,
tankDefinitions, tankDefinitions,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { Table } from '@radix-ui/themes'; import { Table } from '@radix-ui/themes';
@@ -14,6 +13,7 @@ import * as TankPerformanceSort from '../../../../stores/tankPerformanceSort';
import { RowLoader } from './RowLoader'; import { RowLoader } from './RowLoader';
import { TankRow } from './TankRow'; import { TankRow } from './TankRow';
import { Total } from './Total'; import { Total } from './Total';
import { filterTank } from '../../../../core/blitzkit/filterTank';
const PREVIEW_COUNT = 10; const PREVIEW_COUNT = 10;
const DEFAULT_LOADED_ROWS = 25; const DEFAULT_LOADED_ROWS = 25;
@@ -17,6 +17,7 @@ import {
RatingPlayer, RatingPlayer,
Region, Region,
REGIONS, REGIONS,
searchCurrentRatingPlayers,
UNLOCALIZED_REGION_NAMES, UNLOCALIZED_REGION_NAMES,
Var, Var,
} from '@blitzkit/core'; } from '@blitzkit/core';
@@ -37,7 +38,6 @@ import { debounce, range } from 'lodash';
import { ChangeEvent, useEffect, useRef, useState } from 'react'; import { ChangeEvent, useEffect, useRef, useState } from 'react';
import { create } from 'zustand'; import { create } from 'zustand';
import { PageWrapper } from '../../../components/PageWrapper'; import { PageWrapper } from '../../../components/PageWrapper';
import { searchCurrentRatingPlayers } from '../../../core/blitz/searchCurrentRatingPlayers';
import { PageTurner } from './components/PageTurner'; import { PageTurner } from './components/PageTurner';
const ROWS_PER_PAGE = Math.floor(100 / 3); const ROWS_PER_PAGE = Math.floor(100 / 3);
@@ -1,9 +1,8 @@
import { StarsInt } from '@blitzkit/core/src/blitzkit/votes';
import { Flex, Text, TextProps } from '@radix-ui/themes'; import { Flex, Text, TextProps } from '@radix-ui/themes';
import { times } from 'lodash'; import { times } from 'lodash';
import { PartialStar } from './components/PartialStar'; import { PartialStar } from './components/PartialStar';
export type StarsInt = 1 | 2 | 3 | 4 | 5;
type StarsProps = TextProps & { type StarsProps = TextProps & {
stars: number | null; stars: number | null;
onCast?: (value: StarsInt) => void; onCast?: (value: StarsInt) => void;
@@ -1,3 +1,5 @@
import { BlitzkitResponse } from '@blitzkit/core/src/blitzkit/unwrapBlitzkitResponse';
import { StarsInt } from '@blitzkit/core/src/blitzkit/votes';
import { PaperPlaneIcon } from '@radix-ui/react-icons'; import { PaperPlaneIcon } from '@radix-ui/react-icons';
import { import {
AlertDialog, AlertDialog,
@@ -8,10 +10,9 @@ import {
Text, Text,
} from '@radix-ui/themes'; } from '@radix-ui/themes';
import { useState } from 'react'; import { useState } from 'react';
import { BlitzkitResponse } from '../../../../../../../../../../hooks/useTankVotes';
import * as App from '../../../../../../../../../../stores/app'; import * as App from '../../../../../../../../../../stores/app';
import * as Duel from '../../../../../../../../../../stores/duel'; import * as Duel from '../../../../../../../../../../stores/duel';
import { Stars, StarsInt } from '../../Stars'; import { Stars } from '../../Stars';
export function VoteCaster() { export function VoteCaster() {
const tank = Duel.use((state) => state.protagonist.tank); const tank = Duel.use((state) => state.protagonist.tank);
@@ -3,7 +3,6 @@
import { import {
TANK_CLASSES, TANK_CLASSES,
TankDefinition, TankDefinition,
filterTank,
gameDefinitions, gameDefinitions,
modelDefinitions, modelDefinitions,
normalizeBoundingBox, normalizeBoundingBox,
@@ -20,6 +19,7 @@ import { times } from 'lodash';
import { Fragment, memo, use, useEffect, useMemo, useState } from 'react'; import { Fragment, memo, use, useEffect, useMemo, useState } from 'react';
import { AdMidSectionResponsive } from '../../../../../components/AdMidSectionResponsive'; import { AdMidSectionResponsive } from '../../../../../components/AdMidSectionResponsive';
import { ExperimentIcon } from '../../../../../components/ExperimentIcon'; import { ExperimentIcon } from '../../../../../components/ExperimentIcon';
import { filterTank } from '../../../../../core/blitzkit/filterTank';
import { resolveReload } from '../../../../../core/blitzkit/resolveReload'; import { resolveReload } from '../../../../../core/blitzkit/resolveReload';
import { useAdExempt } from '../../../../../hooks/useAdExempt'; import { useAdExempt } from '../../../../../hooks/useAdExempt';
import * as TankFilters from '../../../../../stores/tankFilters'; import * as TankFilters from '../../../../../stores/tankFilters';
@@ -1,5 +1,6 @@
import { import {
ShellDefinition, ShellDefinition,
canSplash,
isExplosive, isExplosive,
resolveNearPenetration, resolveNearPenetration,
resolvePenetrationCoefficient, resolvePenetrationCoefficient,
@@ -8,7 +9,6 @@ import { useFrame } from '@react-three/fiber';
import { useEffect } from 'react'; import { useEffect } from 'react';
import { MeshBasicMaterial, Object3D, ShaderMaterial, Vector2 } from 'three'; import { MeshBasicMaterial, Object3D, ShaderMaterial, Vector2 } from 'three';
import { degToRad } from 'three/src/math/MathUtils'; import { degToRad } from 'three/src/math/MathUtils';
import { canSplash } from '../../../../core/blitz/canSplash';
import { hasEquipment } from '../../../../core/blitzkit/hasEquipment'; import { hasEquipment } from '../../../../core/blitzkit/hasEquipment';
import { jsxTree } from '../../../../core/blitzkit/jsxTree'; import { jsxTree } from '../../../../core/blitzkit/jsxTree';
import * as Duel from '../../../../stores/duel'; import * as Duel from '../../../../stores/duel';
@@ -1,5 +1,5 @@
import { TankFilters } from '../../../website/src/stores/tankFilters'; import { TankDefinition } from '@blitzkit/core/src/blitzkit/tankDefinitions';
import { TankDefinition } from './tankDefinitions'; import { TankFilters } from '../../stores/tankFilters';
export function filterTank(filters: TankFilters, tank: TankDefinition) { export function filterTank(filters: TankFilters, tank: TankDefinition) {
return ( return (
@@ -3,16 +3,15 @@ import {
ModelDefinition, ModelDefinition,
ProvisionDefinitions, ProvisionDefinitions,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { EquipmentMatrix } from '../../../website/src/stores/duel'; import { resolveNearPenetration } from '@blitzkit/core/src/blitz/resolveNearPenetration';
import { resolveNearPenetration } from '../blitz/resolveNearPenetration'; import { coefficient } from '@blitzkit/core/src/blitzkit/coefficient';
import { coefficient } from './coefficient'; import { degressiveStat } from '@blitzkit/core/src/blitzkit/degressiveStat';
import { degressiveStat } from './degressiveStat'; import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive';
import { isExplosive } from './isExplosive'; import { normalizeBoundingBox } from '@blitzkit/core/src/blitzkit/normalizeBoundingBox';
import { normalizeBoundingBox } from './normalizeBoundingBox'; import { progressiveStat } from '@blitzkit/core/src/blitzkit/progressiveStat';
import { progressiveStat } from './progressiveStat'; import { resolveDpm } from '@blitzkit/core/src/blitzkit/resolveDpm';
import { resolveDpm } from './resolveDpm'; import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient';
import { resolvePenetrationCoefficient } from './resolvePenetrationCoefficient'; import { sum } from '@blitzkit/core/src/blitzkit/sum';
import { sum } from './sum';
import { import {
EngineDefinition, EngineDefinition,
GunDefinition, GunDefinition,
@@ -20,8 +19,9 @@ import {
TankDefinition, TankDefinition,
TrackDefinition, TrackDefinition,
TurretDefinition, TurretDefinition,
} from './tankDefinitions'; } from '@blitzkit/core/src/blitzkit/tankDefinitions';
import { unionBoundingBox } from './unionBoundingBox'; import { unionBoundingBox } from '@blitzkit/core/src/blitzkit/unionBoundingBox';
import { EquipmentMatrix } from '../../stores/duel';
export type TankCharacteristics = ReturnType<typeof tankCharacteristics>; export type TankCharacteristics = ReturnType<typeof tankCharacteristics>;
@@ -1,6 +1,5 @@
import { averageDefinitions } from '@blitzkit/core'; import { averageDefinitions, discoveredIdsDefinitions } from '@blitzkit/core';
import { use } from 'react'; import { use } from 'react';
import { discoveredIdsDefinitions } from '../core/blitzkit/discoveredIdDefinitions';
export function useAveragesExclusionRatio() { export function useAveragesExclusionRatio() {
const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions); const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions);
+4 -14
View File
@@ -1,21 +1,11 @@
import { TankVotes } from '@blitzkit/core'; import { TankVotes } from '@blitzkit/core';
import {
BlitzkitResponse,
unwrapBlitzkitResponse,
} from '@blitzkit/core/src/blitzkit/unwrapBlitzkitResponse';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { unwrapBlitzkitResponse } from '../core/blitzkit/unwrapBlitzkitResponse';
import * as App from '../stores/app'; import * as App from '../stores/app';
export interface BlitzkitResponseError {
status: 'error';
error: string;
message?: unknown;
}
export type BlitzkitResponse<Data = undefined> =
| BlitzkitResponseError
| {
status: 'ok';
data: Data;
};
const cache: Record<string, Promise<TankVotes> | TankVotes> = {}; const cache: Record<string, Promise<TankVotes> | TankVotes> = {};
export function useTankVotes(id: number) { export function useTankVotes(id: number) {
+1 -1
View File
@@ -1,9 +1,9 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { merge } from 'lodash'; import { merge } from 'lodash';
import { create } from 'zustand'; import { create } from 'zustand';
import { persist } from 'zustand/middleware'; import { persist } from 'zustand/middleware';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
interface WargamingLogin { interface WargamingLogin {
id: number; id: number;
@@ -1,7 +1,7 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { create } from 'zustand'; import { create } from 'zustand';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
import { DuelMember } from './duel'; import { DuelMember } from './duel';
export interface CompareMember extends DuelMember { export interface CompareMember extends DuelMember {
@@ -1,9 +1,9 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { merge } from 'lodash'; import { merge } from 'lodash';
import { create } from 'zustand'; import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware'; import { persist, subscribeWithSelector } from 'zustand/middleware';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
export type DeltaMode = 'none' | 'percentage' | 'absolute'; export type DeltaMode = 'none' | 'percentage' | 'absolute';
export interface ComparePersistent { export interface ComparePersistent {
+1 -1
View File
@@ -1,7 +1,6 @@
'use client'; 'use client';
import { import {
createNextSafeStore,
EngineDefinition, EngineDefinition,
GunDefinition, GunDefinition,
ProvisionDefinitions, ProvisionDefinitions,
@@ -13,6 +12,7 @@ import {
import { create } from 'zustand'; import { create } from 'zustand';
import { subscribeWithSelector } from 'zustand/middleware'; import { subscribeWithSelector } from 'zustand/middleware';
import { tankToDuelMember } from '../../core/blitzkit/tankToDuelMember'; import { tankToDuelMember } from '../../core/blitzkit/tankToDuelMember';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
type EquipmentMatrixItem = -1 | 0 | 1; type EquipmentMatrixItem = -1 | 0 | 1;
type EquipmentMatrixRow = [ type EquipmentMatrixRow = [
@@ -1,8 +1,8 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import * as radixColors from '@radix-ui/colors'; import * as radixColors from '@radix-ui/colors';
import { create } from 'zustand'; import { create } from 'zustand';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
import { import {
EmbedConfigItemType, EmbedConfigItemType,
EmbedItemType, EmbedItemType,
+2 -6
View File
@@ -1,14 +1,10 @@
'use client'; 'use client';
import { import { IndividualTankStats, Region, Stat } from '@blitzkit/core';
IndividualTankStats,
Region,
Stat,
createNextSafeStore,
} from '@blitzkit/core';
import { merge } from 'lodash'; import { merge } from 'lodash';
import { create } from 'zustand'; import { create } from 'zustand';
import { persist } from 'zustand/middleware'; import { persist } from 'zustand/middleware';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
interface SessionBase { interface SessionBase {
columns: Stat[]; columns: Stat[];
+2 -1
View File
@@ -1,7 +1,8 @@
'use client'; 'use client';
import { TankClass, Tier, TreeType, createNextSafeStore } from '@blitzkit/core'; import { TankClass, Tier, TreeType } from '@blitzkit/core';
import { create } from 'zustand'; import { create } from 'zustand';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
export interface TankFilters { export interface TankFilters {
tiers: Tier[]; tiers: Tier[];
@@ -1,9 +1,9 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { merge } from 'lodash'; import { merge } from 'lodash';
import { create } from 'zustand'; import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware'; import { persist, subscribeWithSelector } from 'zustand/middleware';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
import { PlayerCountPeriod } from './constants'; import { PlayerCountPeriod } from './constants';
export interface TankPerformancePersistent { export interface TankPerformancePersistent {
@@ -1,7 +1,7 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { create } from 'zustand'; import { create } from 'zustand';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
import { TankPerformanceSortTypeNames } from './constants'; import { TankPerformanceSortTypeNames } from './constants';
export type TankPerformanceSortType = keyof typeof TankPerformanceSortTypeNames; export type TankPerformanceSortType = keyof typeof TankPerformanceSortTypeNames;
@@ -1,12 +1,13 @@
'use client'; 'use client';
import { createNextSafeStore, ModelDefinition } from '@blitzkit/core'; import { ModelDefinition } from '@blitzkit/core';
import { Vector3 } from 'three'; import { Vector3 } from 'three';
import { create } from 'zustand'; import { create } from 'zustand';
import { subscribeWithSelector } from 'zustand/middleware'; import { subscribeWithSelector } from 'zustand/middleware';
import { XP_MULTIPLIERS } from '../app/tools/tankopedia/[id]/components/Model/TechTreeSection'; import { XP_MULTIPLIERS } from '../app/tools/tankopedia/[id]/components/Model/TechTreeSection';
import { ArmorType } from '../components/Armor/components/SpacedArmorScene'; import { ArmorType } from '../components/Armor/components/SpacedArmorScene';
import { ExternalModuleVariant } from '../components/Armor/components/SpacedArmorSceneComponent'; import { ExternalModuleVariant } from '../components/Armor/components/SpacedArmorSceneComponent';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
interface TankopediaEphemeral { interface TankopediaEphemeral {
shot?: Shot; shot?: Shot;
@@ -1,10 +1,11 @@
'use client'; 'use client';
import { createNextSafeStore, TankClass, Tier, TreeType } from '@blitzkit/core'; import { TankClass, Tier, TreeType } from '@blitzkit/core';
import { merge } from 'lodash'; import { merge } from 'lodash';
import { create } from 'zustand'; import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware'; import { persist, subscribeWithSelector } from 'zustand/middleware';
import { ENVIRONMENTS } from '../../app/tools/tankopedia/[id]/components/Lighting'; import { ENVIRONMENTS } from '../../app/tools/tankopedia/[id]/components/Lighting';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
import { SORT_NAMES, TankopediaDisplay } from './constants'; import { SORT_NAMES, TankopediaDisplay } from './constants';
export type TankopediaSortBy = keyof typeof SORT_NAMES; export type TankopediaSortBy = keyof typeof SORT_NAMES;
@@ -1,7 +1,7 @@
'use client'; 'use client';
import { createNextSafeStore } from '@blitzkit/core';
import { create } from 'zustand'; import { create } from 'zustand';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
import { import {
TankopediaSortBy, TankopediaSortBy,
TankopediaSortDirection, TankopediaSortDirection,
+6 -1
View File
@@ -7,5 +7,10 @@
} }
] ]
}, },
"include": ["src/**/*", ".next/types/**/*.ts"] "include": [
"src/**/*",
".next/types/**/*.ts",
"../bot/src/core/blitzkit/resolveAncestry.ts",
"../bot/src/core/blitzkit/buildTechTreeLine.ts"
]
} }