mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
fix: port to core 4
This commit is contained in:
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,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,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';
|
||||||
|
|||||||
@@ -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,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';
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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,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';
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
File renamed without changes.
@@ -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) {
|
||||||
|
|||||||
File renamed without changes.
File renamed without changes.
@@ -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>,
|
||||||
|
|||||||
@@ -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 +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;
|
||||||
|
};
|
||||||
@@ -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;
|
||||||
@@ -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 +0,0 @@
|
|||||||
export * from './createNextSafeStore';
|
|
||||||
@@ -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" ]
|
||||||
}
|
}
|
||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
File renamed without changes.
@@ -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[][] = [];
|
||||||
|
|||||||
File renamed without changes.
@@ -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;
|
||||||
|
|||||||
@@ -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
-2
@@ -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;
|
||||||
|
|||||||
+3
-2
@@ -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
-1
@@ -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';
|
||||||
|
|||||||
+2
-2
@@ -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 (
|
||||||
+12
-12
@@ -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>;
|
||||||
|
|
||||||
File renamed without changes.
@@ -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);
|
||||||
|
|||||||
@@ -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,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,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,
|
||||||
|
|||||||
@@ -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[];
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user