mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
fix: more imports
This commit is contained in:
1 parent
25cfb7db74
commit
4f24db0956
182 files changed
+456
-452
No files matched your search
@@ -1,6 +1,5 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import { getRatingInfo, Region } from '@blitzkit/core';
|
||||
import { NextResponse } from 'next/server';
|
||||
import getRatingInfo from '../../../../../../../website/src/core/blitz/getRatingInfo';
|
||||
|
||||
export async function GET(
|
||||
request: Request,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages';
|
||||
import { blitzStarsTankAverages } from '@blitzkit/core';
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
export async function GET() {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { tankDefinitions, usersDatabase } from '@blitzkit/core';
|
||||
import { tankDefinitions, TankVotes, usersDatabase } from '@blitzkit/core';
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { TankVotes } from '../../../../../../core/src/blitzkit/votes';
|
||||
import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId';
|
||||
import {
|
||||
BlitzkitResponse,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { tankDefinitions, usersDatabase } from '@blitzkit/core';
|
||||
import {
|
||||
TANK_VOTE_CATEGORIES,
|
||||
tankDefinitions,
|
||||
TankVoteCategory,
|
||||
} from '@blitzkit/core/src/blitzkit/votes';
|
||||
usersDatabase,
|
||||
} from '@blitzkit/core';
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { StarsInt } from '../../../../../../website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/components/Stars';
|
||||
import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId';
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import { getBlitzStarsLinkButton } from '../../core/blitzstars/getBlitzStarsLinkButton';
|
||||
import addPeriodicFilterOptions from '../../core/discord/addPeriodicFilterOptions';
|
||||
import addUsernameChoices from '../../core/discord/addUsernameChoices';
|
||||
import autocompleteTanks from '../../core/discord/autocompleteTanks';
|
||||
import autocompleteUsername from '../../core/discord/autocompleteUsername';
|
||||
import { addPeriodicFilterOptions } from '../../core/discord/addPeriodicFilterOptions';
|
||||
import { addUsernameChoices } from '../../core/discord/addUsernameChoices';
|
||||
import { autocompleteTanks } from '../../core/discord/autocompleteTanks';
|
||||
import { autocompleteUsername } from '../../core/discord/autocompleteUsername';
|
||||
import { buttonRefresh } from '../../core/discord/buttonRefresh';
|
||||
import commandToURL from '../../core/discord/commandToURL';
|
||||
import { commandToURL } from '../../core/discord/commandToURL';
|
||||
import { createLocalizedCommand } from '../../core/discord/createLocalizedCommand';
|
||||
import { getCustomPeriodParams } from '../../core/discord/getCustomPeriodParams';
|
||||
import { getFiltersFromButton } from '../../core/discord/getFiltersFromButton';
|
||||
import { getFiltersFromCommand } from '../../core/discord/getFiltersFromCommand';
|
||||
import resolvePeriodFromButton from '../../core/discord/resolvePeriodFromButton';
|
||||
import resolvePeriodFromCommand from '../../core/discord/resolvePeriodFromCommand';
|
||||
import resolvePlayerFromButton from '../../core/discord/resolvePlayerFromButton';
|
||||
import resolvePlayerFromCommand from '../../core/discord/resolvePlayerFromCommand';
|
||||
import { resolvePeriodFromButton } from '../../core/discord/resolvePeriodFromButton';
|
||||
import { resolvePeriodFromCommand } from '../../core/discord/resolvePeriodFromCommand';
|
||||
import { resolvePlayerFromButton } from '../../core/discord/resolvePlayerFromButton';
|
||||
import { resolvePlayerFromCommand } from '../../core/discord/resolvePlayerFromCommand';
|
||||
import { CommandRegistry } from '../../events/interactionCreate';
|
||||
import { renderBreakdown } from './render';
|
||||
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
import {
|
||||
blitzStarsTankAverages,
|
||||
BlitzStats,
|
||||
calculateWN8,
|
||||
filterStats,
|
||||
getWN8Percentile,
|
||||
StatFilters,
|
||||
TankDefinition,
|
||||
tankDefinitions,
|
||||
} from '@blitzkit/core';
|
||||
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages';
|
||||
import calculateWN8 from '@blitzkit/core/src/statistics/calculateWN8';
|
||||
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
|
||||
import { Locale } from 'discord.js';
|
||||
import { chunk } from 'lodash';
|
||||
import { getAccountInfo } from '../../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import getTankStats from '../../../../website/src/core/blitz/getTankStats';
|
||||
import { getTankStats } from '../../../../website/src/core/blitz/getTankStats';
|
||||
import { UserError } from '../../../../website/src/hooks/userError';
|
||||
import * as Breakdown from '../../components/Breakdown';
|
||||
import CommandWrapper from '../../components/CommandWrapper';
|
||||
import NoData from '../../components/NoData';
|
||||
import TitleBar from '../../components/TitleBar';
|
||||
import { CommandWrapper } from '../../components/CommandWrapper';
|
||||
import { NoData } from '../../components/NoData';
|
||||
import { TitleBar } from '../../components/TitleBar';
|
||||
import { filtersToDescription } from '../../core/blitzkit/filtersToDescription';
|
||||
import getStatsInPeriod from '../../core/blitzstars/getStatsInPeriod';
|
||||
import { getStatsInPeriod } from '../../core/blitzstars/getStatsInPeriod';
|
||||
import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand';
|
||||
import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../../core/localization/translator';
|
||||
|
||||
@@ -2,31 +2,33 @@ import { Locale, SlashCommandSubcommandGroupBuilder } from 'discord.js';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
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 { LineColor } from '../components/Graph/components/Line/constants';
|
||||
import NoData from '../components/NoData';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import resolveTankId from '../core/blitz/resolveTankId';
|
||||
import { NoData } from '../components/NoData';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { resolveTankId } from '../core/blitz/resolveTankId';
|
||||
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
|
||||
import getPlayerHistories from '../core/blitzstars/getPlayerHistories';
|
||||
import getTankHistories from '../core/blitzstars/getTankHistories';
|
||||
import { getPlayerHistories } from '../core/blitzstars/getPlayerHistories';
|
||||
import { getTankHistories } from '../core/blitzstars/getTankHistories';
|
||||
import { addPeriodSubCommands } from '../core/discord/addPeriodSubCommands';
|
||||
import addTankChoices from '../core/discord/addTankChoices';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteTanks from '../core/discord/autocompleteTanks';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { addTankChoices } from '../core/discord/addTankChoices';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteTanks } from '../core/discord/autocompleteTanks';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { buttonRefresh } from '../core/discord/buttonRefresh';
|
||||
import commandToURL from '../core/discord/commandToURL';
|
||||
import { commandToURL } from '../core/discord/commandToURL';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
|
||||
import resolvePeriodFromButton from '../core/discord/resolvePeriodFromButton';
|
||||
import resolvePeriodFromCommand, {
|
||||
import { resolvePeriodFromButton } from '../core/discord/resolvePeriodFromButton';
|
||||
import {
|
||||
ResolvedPeriod,
|
||||
resolvePeriodFromCommand,
|
||||
} from '../core/discord/resolvePeriodFromCommand';
|
||||
import resolvePlayerFromButton from '../core/discord/resolvePlayerFromButton';
|
||||
import resolvePlayerFromCommand, {
|
||||
import { resolvePlayerFromButton } from '../core/discord/resolvePlayerFromButton';
|
||||
import {
|
||||
ResolvedPlayer,
|
||||
resolvePlayerFromCommand,
|
||||
} from '../core/discord/resolvePlayerFromCommand';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
|
||||
@@ -3,31 +3,33 @@ import { Locale } from 'discord.js';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import GenericAllStats from '../components/GenericAllStats';
|
||||
import NoData from '../components/NoData';
|
||||
import TierWeights from '../components/TierWeights';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import { GenericAllStats } from '../components/GenericAllStats';
|
||||
import { NoData } from '../components/NoData';
|
||||
import { TierWeights } from '../components/TierWeights';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { filtersToDescription } from '../core/blitzkit/filtersToDescription';
|
||||
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
|
||||
import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod';
|
||||
import addPeriodicFilterOptions from '../core/discord/addPeriodicFilterOptions';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteTanks from '../core/discord/autocompleteTanks';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { getStatsInPeriod } from '../core/blitzstars/getStatsInPeriod';
|
||||
import { addPeriodicFilterOptions } from '../core/discord/addPeriodicFilterOptions';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteTanks } from '../core/discord/autocompleteTanks';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { buttonRefresh } from '../core/discord/buttonRefresh';
|
||||
import commandToURL from '../core/discord/commandToURL';
|
||||
import { commandToURL } from '../core/discord/commandToURL';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
|
||||
import { getFiltersFromButton } from '../core/discord/getFiltersFromButton';
|
||||
import { getFiltersFromCommand } from '../core/discord/getFiltersFromCommand';
|
||||
import resolvePeriodFromButton from '../core/discord/resolvePeriodFromButton';
|
||||
import resolvePeriodFromCommand, {
|
||||
import { resolvePeriodFromButton } from '../core/discord/resolvePeriodFromButton';
|
||||
import {
|
||||
ResolvedPeriod,
|
||||
resolvePeriodFromCommand,
|
||||
} from '../core/discord/resolvePeriodFromCommand';
|
||||
import resolvePlayerFromButton from '../core/discord/resolvePlayerFromButton';
|
||||
import resolvePlayerFromCommand, {
|
||||
import { resolvePlayerFromButton } from '../core/discord/resolvePlayerFromButton';
|
||||
import {
|
||||
ResolvedPlayer,
|
||||
resolvePlayerFromCommand,
|
||||
} from '../core/discord/resolvePlayerFromCommand';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Locale } from 'discord.js';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanInfo } from '../../../website/src/core/blitz/getClanInfo';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import GenericStats from '../components/GenericStats';
|
||||
import NoData from '../components/NoData';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import addClanChoices from '../core/discord/addClanChoices';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import { GenericStats } from '../components/GenericStats';
|
||||
import { NoData } from '../components/NoData';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { addClanChoices } from '../core/discord/addClanChoices';
|
||||
import autocompleteClan from '../core/discord/autocompleteClan';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { localizationObject } from '../core/discord/localizationObject';
|
||||
|
||||
@@ -3,12 +3,12 @@ import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import { linkBlitzAndDiscord } from '../../../website/src/core/blitzkit/linkBlitzAndDiscord';
|
||||
import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import embedInfo from '../core/discord/embedInfo';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { embedInfo } from '../core/discord/embedInfo';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
@@ -4,18 +4,18 @@ import {
|
||||
TankDefinition,
|
||||
Tier,
|
||||
flags,
|
||||
gameDefinitions,
|
||||
tankDefinitions,
|
||||
} from '@blitzkit/core';
|
||||
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions';
|
||||
import { chunk } from 'lodash';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import getTankStats from '../../../website/src/core/blitz/getTankStats';
|
||||
import addTierChoices from '../core/discord/addTierChoices';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { getTankStats } from '../../../website/src/core/blitz/getTankStats';
|
||||
import { addTierChoices } from '../core/discord/addTierChoices';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import embedInfo from '../core/discord/embedInfo';
|
||||
import markdownTable from '../core/discord/markdownTable';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { embedInfo } from '../core/discord/embedInfo';
|
||||
import { markdownTable } from '../core/discord/markdownTable';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
|
||||
@@ -1,22 +1,25 @@
|
||||
import { BkrlFormat, deltaBkrlBlitzStats } from '@blitzkit/core';
|
||||
import {
|
||||
BkrlFormat,
|
||||
deltaBkrlBlitzStats,
|
||||
getLeagueFromScore,
|
||||
getRatingInfo,
|
||||
} from '@blitzkit/core';
|
||||
import { getArchivedRatingMidnightLeaderboard } from '@blitzkit/core/src/blitzkit/getArchivedRatingMidnightLeaderboard';
|
||||
import { SlashCommandSubcommandBuilder } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import { getLeagueFromScore } from '../../../website/src/core/blitz/getLeagueFromScore';
|
||||
import getRatingInfo from '../../../website/src/core/blitz/getRatingInfo';
|
||||
import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors';
|
||||
import { normalizeLeagueIcon } from '../../../website/src/core/blitz/normalizeLeagueIcon';
|
||||
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
|
||||
import getArchivedRatingMidnightLeaderboard from '../../../website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard';
|
||||
import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
|
||||
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 TitleBar from '../components/TitleBar';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { normalizeLeagueIcon } from '../core/blitz/normalizeLeagueIcon';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
import {
|
||||
BkrlDiscriminatedEntries,
|
||||
FIRST_MINIMAL_ARCHIVED_RATING_SEASON,
|
||||
getArchivedLatestSeasonNumber,
|
||||
getArchivedRatingInfo,
|
||||
getArchivedRatingLeaderboard,
|
||||
getRatingInfo,
|
||||
LEAGUES,
|
||||
RatingInfo,
|
||||
Region,
|
||||
} from '@blitzkit/core';
|
||||
import { getArchivedRatingMidnightLeaderboard } from '@blitzkit/core/src/blitzkit/getArchivedRatingMidnightLeaderboard';
|
||||
import {
|
||||
APIApplicationCommandOptionChoice,
|
||||
Locale,
|
||||
@@ -14,24 +19,19 @@ import { range } from 'lodash';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import getRatingInfo from '../../../website/src/core/blitz/getRatingInfo';
|
||||
import { getRatingLeague } from '../../../website/src/core/blitz/getRatingLeague';
|
||||
import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors';
|
||||
import { isOnGoingRatingSeason } from '../../../website/src/core/blitz/isOnGoingRatingSeason';
|
||||
import { getArchivedLatestSeasonNumber } from '../../../website/src/core/blitzkit/getArchivedLatestSeasonNumber';
|
||||
import getArchivedRatingInfo from '../../../website/src/core/blitzkit/getArchivedRatingInfo';
|
||||
import { getArchivedRatingLeaderboard } from '../../../website/src/core/blitzkit/getArchivedRatingLeaderboard';
|
||||
import getArchivedRatingMidnightLeaderboard from '../../../website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard';
|
||||
import { UserError } from '../../../website/src/hooks/userError';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import * as Leaderboard from '../components/Leaderboard';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import addRegionChoices from '../core/discord/addRegionChoices';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../core/discord/autocompleteUsername';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { addRegionChoices } from '../core/discord/addRegionChoices';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteUsername } from '../core/discord/autocompleteUsername';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { localizationObject } from '../core/discord/localizationObject';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import {
|
||||
blitzStarsTankAverages,
|
||||
calculateWN8,
|
||||
idToRegion,
|
||||
tankDefinitions,
|
||||
tankIcon,
|
||||
TIER_ROMAN_NUMERALS,
|
||||
} from '@blitzkit/core';
|
||||
import { tankIcon } from '@blitzkit/core/src/blitzkit/tankIcon';
|
||||
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages';
|
||||
import calculateWN8 from '@blitzkit/core/src/statistics/calculateWN8';
|
||||
import { clamp } from 'lodash';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
|
||||
import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
|
||||
import { mapDefinitions } from '../../../website/src/core/blitzkit/mapDefinitions';
|
||||
import { RenderConfiguration } from '../../../website/src/core/blitzkit/renderConfiguration';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import buttonLink from '../core/discord/buttonLink';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { buttonLink } from '../core/discord/buttonLink';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
@@ -8,20 +8,20 @@ import {
|
||||
import { escapeMarkdown, Locale } from 'discord.js';
|
||||
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
|
||||
import getTankStats from '../../../website/src/core/blitz/getTankStats';
|
||||
import { getTankStats } from '../../../website/src/core/blitz/getTankStats';
|
||||
import { buildTechTreeLine } from '../../../website/src/core/blitzkit/buildTechTreeLine';
|
||||
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
|
||||
import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
|
||||
import { resolveAncestry } from '../../../website/src/core/blitzkit/resolveAncestry';
|
||||
import { tankIconPng } from '../../../website/src/core/blitzkit/tankIconPng';
|
||||
import CommandWrapper from '../components/CommandWrapper';
|
||||
import TitleBar from '../components/TitleBar';
|
||||
import resolveTankId from '../core/blitz/resolveTankId';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
import autocompleteTanks from '../core/discord/autocompleteTanks';
|
||||
import { CommandWrapper } from '../components/CommandWrapper';
|
||||
import { TitleBar } from '../components/TitleBar';
|
||||
import { resolveTankId } from '../core/blitz/resolveTankId';
|
||||
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
|
||||
import { autocompleteTanks } from '../core/discord/autocompleteTanks';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import { localizationObject } from '../core/discord/localizationObject';
|
||||
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand';
|
||||
import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { ClanList, Region } from '@blitzkit/core';
|
||||
import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz';
|
||||
import { Locale } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz';
|
||||
import addClanChoices from '../core/discord/addClanChoices';
|
||||
import addRegionChoices from '../core/discord/addRegionChoices';
|
||||
import { addClanChoices } from '../core/discord/addClanChoices';
|
||||
import { addRegionChoices } from '../core/discord/addRegionChoices';
|
||||
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
|
||||
import embedInfo from '../core/discord/embedInfo';
|
||||
import { embedInfo } from '../core/discord/embedInfo';
|
||||
import { localizationObject } from '../core/discord/localizationObject';
|
||||
import { translator } from '../core/localization/translator';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import fetchBlitz from '@blitzkit/core/src/blitz/fetchBlitz';
|
||||
import { Locale } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz';
|
||||
import { AccountList } from '../../../website/src/core/blitz/searchPlayersAcrossRegions';
|
||||
import { usernamePattern } from '../../../website/src/core/blitz/searchPlayersAcrossRegions/constants';
|
||||
import addRegionChoices from '../core/discord/addRegionChoices';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions';
|
||||
import { gameDefinitions } from '@blitzkit/core';
|
||||
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
|
||||
import { addFilterOptions } from '../core/discord/addFilterOptions';
|
||||
import addUsernameChoices from '../core/discord/addUsernameChoices';
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import { getWN8Percentile, Percentile } from '@blitzkit/core';
|
||||
import { Locale } from 'discord.js';
|
||||
import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo';
|
||||
import { translator } from '../../core/localization/translator';
|
||||
import { PERCENTILE_COLORS } from '../PercentileIndicator/constants';
|
||||
import { HeroStat } from './components/HeroStat';
|
||||
import {
|
||||
WN8SurroundingStat,
|
||||
WN8SurroundingStatAlign,
|
||||
} from './components/WN8SurroundingStat';
|
||||
import { translator } from '../../core/localization/translator';
|
||||
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
|
||||
|
||||
export interface AllStatsOverviewProps {
|
||||
stats: {
|
||||
@@ -25,7 +24,7 @@ export interface AllStatsOverviewProps {
|
||||
locale: Locale;
|
||||
}
|
||||
|
||||
export default function AllStatsOverview({
|
||||
export function AllStatsOverview({
|
||||
stats,
|
||||
locale,
|
||||
supplementaryStats,
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { TankClass, TreeType } from '@blitzkit/core';
|
||||
import { TREE_TYPE_ICONS } from '@blitzkit/core/src/blitzkit/tankDefinitions/constants';
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import {
|
||||
Percentile,
|
||||
TankClass,
|
||||
TREE_TYPE_ICONS,
|
||||
TreeType,
|
||||
} from '@blitzkit/core';
|
||||
import { createColors } from 'bepaint';
|
||||
import {
|
||||
AccentColor,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import { Percentile } from '@blitzkit/core';
|
||||
import { createColors } from 'bepaint';
|
||||
import {
|
||||
AccentColor,
|
||||
|
||||
@@ -6,7 +6,7 @@ interface CommandWrapperProps {
|
||||
fat?: boolean;
|
||||
}
|
||||
|
||||
export default function CommandWrapper({ children, fat }: CommandWrapperProps) {
|
||||
export function CommandWrapper({ children, fat }: CommandWrapperProps) {
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { asset } from '@blitzkit/core/src/blitzkit/asset';
|
||||
import { asset } from '@blitzkit/core';
|
||||
|
||||
interface FlagProps {
|
||||
nation: string;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import { Percentile } from '@blitzkit/core';
|
||||
import { theme } from '../../../stitches.config';
|
||||
import PercentileIndicator from '../../PercentileIndicator';
|
||||
import { PercentileIndicator } from '../../PercentileIndicator';
|
||||
|
||||
interface CardItem {
|
||||
label: string;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import { BlitzStats } from '@blitzkit/core';
|
||||
import isNumber from '@blitzkit/core/src/math/isNumber';
|
||||
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
|
||||
import { BlitzStats, getWN8Percentile, isNumber } from '@blitzkit/core';
|
||||
import { Locale } from 'discord.js';
|
||||
import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo';
|
||||
import { translator } from '../../core/localization/translator';
|
||||
@@ -14,7 +12,7 @@ interface GenericAllStatsProps {
|
||||
locale: Locale;
|
||||
}
|
||||
|
||||
export default function GenericAllStats({
|
||||
export function GenericAllStats({
|
||||
stats,
|
||||
supplementaryStats,
|
||||
locale,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { GenericStat } from '..';
|
||||
import GenericStatsRow from './GenericStatsRow';
|
||||
import { GenericStatsRow } from './GenericStatsRow';
|
||||
|
||||
interface GenericStatsColumnProps {
|
||||
stats: GenericStat[];
|
||||
}
|
||||
|
||||
export default function GenericStatsColumn({ stats }: GenericStatsColumnProps) {
|
||||
export function GenericStatsColumn({ stats }: GenericStatsColumnProps) {
|
||||
return (
|
||||
<div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 8 }}>
|
||||
{stats.map((stat) => (
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { GenericStat } from '..';
|
||||
import { theme } from '../../../stitches.config';
|
||||
import PercentileIndicator from '../../PercentileIndicator';
|
||||
import { PercentileIndicator } from '../../PercentileIndicator';
|
||||
|
||||
interface GenericStatsRowProps {
|
||||
stat: GenericStat;
|
||||
}
|
||||
|
||||
export default function GenericStatsRow({ stat }: GenericStatsRowProps) {
|
||||
export function GenericStatsRow({ stat }: GenericStatsRowProps) {
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import GenericStatsColumn from './components/GenericStatsColumn';
|
||||
import { Percentile } from '@blitzkit/core';
|
||||
import { GenericStatsColumn } from './components/GenericStatsColumn';
|
||||
|
||||
export type GenericStat =
|
||||
| [string, string | number | undefined]
|
||||
@@ -10,10 +10,7 @@ export interface GenericStatsProps {
|
||||
columnCount?: number;
|
||||
}
|
||||
|
||||
export default function GenericStats({
|
||||
stats,
|
||||
columnCount = 2,
|
||||
}: GenericStatsProps) {
|
||||
export function GenericStats({ stats, columnCount = 2 }: GenericStatsProps) {
|
||||
const filteredStats = stats.filter(([, value]) => value !== undefined);
|
||||
const itemsPerRow = Math.ceil(filteredStats.length / columnCount);
|
||||
const columns: GenericStat[][] = [];
|
||||
|
||||
@@ -11,7 +11,7 @@ interface NoDataProps {
|
||||
locale: Locale;
|
||||
}
|
||||
|
||||
export default function NoData({ type, locale }: NoDataProps) {
|
||||
export function NoData({ type, locale }: NoDataProps) {
|
||||
const { translate } = translator(locale);
|
||||
|
||||
return (
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import { Percentile } from '@blitzkit/core';
|
||||
import {
|
||||
amber,
|
||||
blue,
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
import { Percentile } from '@blitzkit/core/src/statistics/percentiles';
|
||||
import { Percentile } from '@blitzkit/core';
|
||||
import { PERCENTILE_COLORS } from './constants';
|
||||
|
||||
interface PercentileIndicatorProps {
|
||||
percentile: Percentile;
|
||||
}
|
||||
|
||||
export default function PercentileIndicator({
|
||||
percentile,
|
||||
}: PercentileIndicatorProps) {
|
||||
export function PercentileIndicator({ percentile }: PercentileIndicatorProps) {
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { TankClass, TreeType } from '@blitzkit/core';
|
||||
import { TREE_TYPE_ICONS } from '@blitzkit/core/src/blitzkit/tankDefinitions/constants';
|
||||
import { TankClass, TREE_TYPE_ICONS, TreeType } from '@blitzkit/core';
|
||||
import { theme } from '../../../../stitches.config';
|
||||
|
||||
export interface ItemProps {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { TierWeightsRecord } from '@blitzkit/core/src/statistics/getTierWeights';
|
||||
import { TierWeightsRecord } from '@blitzkit/core';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
interface TierWeightsProps {
|
||||
weights: TierWeightsRecord;
|
||||
}
|
||||
|
||||
export default function TierWeights({ weights }: TierWeightsProps) {
|
||||
export function TierWeights({ weights }: TierWeightsProps) {
|
||||
return (
|
||||
<div style={{ display: 'flex', gap: 8 }}>
|
||||
{Object.entries(weights).map(([tier, weight]) => (
|
||||
|
||||
@@ -6,7 +6,7 @@ interface TitleBarProps {
|
||||
description?: string;
|
||||
}
|
||||
|
||||
export default function TitleBar({ title, image, description }: TitleBarProps) {
|
||||
export function TitleBar({ title, image, description }: TitleBarProps) {
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
|
||||
File renamed without changes.
@@ -6,7 +6,7 @@ import { UserError } from '../../../../website/src/hooks/userError';
|
||||
import { tankNamesTechTreeOnly } from '../discord/autocompleteTanks';
|
||||
import { translator } from '../localization/translator';
|
||||
|
||||
export default async function resolveTankId(
|
||||
export async function resolveTankId(
|
||||
tank: string | number,
|
||||
locale: Locale,
|
||||
techTreeOnly = false,
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
export default function getPeriodNow() {
|
||||
export function getPeriodNow() {
|
||||
return Date.now() / 1000;
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import { Region } from '@blitzkit/core';
|
||||
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
|
||||
import { PeriodSize } from '../discord/addPeriodSubCommands';
|
||||
|
||||
export default function getPeriodStart(region: Region, period: PeriodSize) {
|
||||
export function getPeriodStart(region: Region, period: PeriodSize) {
|
||||
if (period === 'career') return 0;
|
||||
if (period === 'today') return getTimeDaysAgo(region, 1);
|
||||
return getTimeDaysAgo(region, parseInt(period));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import jsxToSvg from './jsxToSvg';
|
||||
import svgToPng from './svgToPng';
|
||||
import { jsxToSvg } from './jsxToSvg';
|
||||
import { svgToPng } from './svgToPng';
|
||||
|
||||
export default async function jsxToPng(jsx: JSX.Element) {
|
||||
export async function jsxToPng(jsx: JSX.Element) {
|
||||
const svg = await jsxToSvg(jsx);
|
||||
const png = svgToPng(svg);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration';
|
||||
import jsxToSvg from './jsxToSvg';
|
||||
import { jsxToSvg } from './jsxToSvg';
|
||||
import { svgToPngThreaded } from './svgToPngThreaded';
|
||||
|
||||
export default async function jsxToPngThreaded(
|
||||
export async function jsxToPngThreaded(
|
||||
jsx: JSX.Element,
|
||||
renderConfiguration: RenderConfiguration,
|
||||
) {
|
||||
|
||||
@@ -14,7 +14,7 @@ const fontsPromise = [
|
||||
return { name: 'Roboto', weight, data };
|
||||
});
|
||||
|
||||
export default async function jsxToSvg(
|
||||
export async function jsxToSvg(
|
||||
jsx: JSX.Element,
|
||||
renderConfiguration = new RenderConfiguration(),
|
||||
) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Resvg } from '@resvg/resvg-js';
|
||||
|
||||
export default function svgToPng(svg: string) {
|
||||
export function svgToPng(svg: string) {
|
||||
return new Resvg(svg).render().asPng();
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
} from '../../types/histories';
|
||||
import { PlayerStats } from './getPlayerStats';
|
||||
|
||||
export default async function getPlayerHistories(
|
||||
export async function getPlayerHistories(
|
||||
server: Region,
|
||||
id: number,
|
||||
options?: Partial<GetHistoriesOptions>,
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
import { BlitzStats, emptyAllStats, Region } from '@blitzkit/core';
|
||||
import { DiffedTankStats } from '@blitzkit/core/src/statistics/filterStats';
|
||||
import {
|
||||
BlitzStats,
|
||||
DiffedTankStats,
|
||||
emptyAllStats,
|
||||
Region,
|
||||
} from '@blitzkit/core';
|
||||
import { Locale } from 'discord.js';
|
||||
import getTankHistories, {
|
||||
import {
|
||||
getTankHistories,
|
||||
TankHistories,
|
||||
TankHistoryRaw,
|
||||
} from './getTankHistories';
|
||||
@@ -16,7 +21,7 @@ const emptyTankHistoryNode: TankHistoryRaw = {
|
||||
};
|
||||
|
||||
// BIG TODO: merge this neatly with diffNormalizedTankStats
|
||||
export default async function getStatsInPeriod(
|
||||
export async function getStatsInPeriod(
|
||||
server: Region,
|
||||
id: number,
|
||||
start: number,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Region, emptyAllStats } from '@blitzkit/core';
|
||||
import { Locale } from 'discord.js';
|
||||
import getTankStats from '../../../../website/src/core/blitz/getTankStats';
|
||||
import { getTankStats } from '../../../../website/src/core/blitz/getTankStats';
|
||||
import { UserError } from '../../../../website/src/hooks/userError';
|
||||
import {
|
||||
GetHistoriesOptions,
|
||||
@@ -33,7 +33,7 @@ const getTankHistoriesDefaultOptions: GetTankHistoriesOptions = {
|
||||
tankId: undefined,
|
||||
};
|
||||
|
||||
export default async function getTankHistories(
|
||||
export async function getTankHistories(
|
||||
server: Region,
|
||||
id: number,
|
||||
locale: Locale,
|
||||
@@ -52,7 +52,7 @@ export default async function getTankHistories(
|
||||
all: history.all,
|
||||
last_battle_time: history.last_battle_time,
|
||||
tank_id: history.tank_id,
|
||||
} satisfies TankHistory),
|
||||
}) satisfies TankHistory,
|
||||
);
|
||||
const compliantTanks: number[] = [];
|
||||
const lastBattles: Record<number, number> = {};
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
|
||||
import { translator } from '../localization/translator';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export default function addClanChoices(option: SlashCommandStringOption) {
|
||||
export function addClanChoices(option: SlashCommandStringOption) {
|
||||
const { translate } = translator(Locale.EnglishUS);
|
||||
|
||||
return option
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
SlashCommandSubcommandBuilder,
|
||||
} from 'discord.js';
|
||||
import { translator } from '../localization/translator';
|
||||
import addTankChoices from './addTankChoices';
|
||||
import addTierChoices from './addTierChoices';
|
||||
import { addTankChoices } from './addTankChoices';
|
||||
import { addTierChoices } from './addTierChoices';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export function addFilterOptions<
|
||||
@@ -38,7 +38,7 @@ export function addFilterOptions<
|
||||
name_localizations: localizationObject(
|
||||
`common.nations.${nation}`,
|
||||
),
|
||||
} satisfies APIApplicationCommandOptionChoice),
|
||||
}) satisfies APIApplicationCommandOptionChoice,
|
||||
),
|
||||
)
|
||||
.setRequired(false),
|
||||
@@ -67,7 +67,7 @@ export function addFilterOptions<
|
||||
name_localizations: localizationObject(
|
||||
`common.tank_class_short.${tankType}`,
|
||||
),
|
||||
} satisfies APIApplicationCommandOptionChoice),
|
||||
}) satisfies APIApplicationCommandOptionChoice,
|
||||
),
|
||||
)
|
||||
.setRequired(false),
|
||||
@@ -95,7 +95,7 @@ export function addFilterOptions<
|
||||
name_localizations: localizationObject(
|
||||
`common.tree_type.${treeType}`,
|
||||
),
|
||||
} satisfies APIApplicationCommandOptionChoice),
|
||||
}) satisfies APIApplicationCommandOptionChoice,
|
||||
),
|
||||
)
|
||||
.setRequired(false),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions';
|
||||
import { gameDefinitions } from '@blitzkit/core';
|
||||
import {
|
||||
SlashCommandBuilder,
|
||||
SlashCommandSubcommandBuilder,
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
import { addFilterOptions } from './addFilterOptions';
|
||||
import { addPeriodSubCommands } from './addPeriodSubCommands';
|
||||
|
||||
export default async function addPeriodicFilterOptions<
|
||||
export async function addPeriodicFilterOptions<
|
||||
OptionType extends SlashCommandBuilder | SlashCommandSubcommandGroupBuilder,
|
||||
>(
|
||||
option: OptionType,
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
import { translator } from '../localization/translator';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export default function addRegionChoices(option: SlashCommandStringOption) {
|
||||
export function addRegionChoices(option: SlashCommandStringOption) {
|
||||
const { t, translate } = translator(Locale.EnglishUS);
|
||||
|
||||
return option
|
||||
@@ -26,7 +26,7 @@ export default function addRegionChoices(option: SlashCommandStringOption) {
|
||||
name_localizations: localizationObject(
|
||||
`common.regions.normal.${region}`,
|
||||
),
|
||||
} satisfies APIApplicationCommandOptionChoice),
|
||||
}) satisfies APIApplicationCommandOptionChoice,
|
||||
),
|
||||
)
|
||||
.setRequired(true);
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
|
||||
import { translator } from '../localization/translator';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export default function addTankChoices(option: SlashCommandStringOption) {
|
||||
export function addTankChoices(option: SlashCommandStringOption) {
|
||||
const { translate } = translator(Locale.EnglishUS);
|
||||
|
||||
return option
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import numberToRomanNumeral from '@blitzkit/core/src/math/numberToRomanNumeral';
|
||||
import { numberToRomanNumeral } from '@blitzkit/core';
|
||||
import {
|
||||
APIApplicationCommandOptionChoice,
|
||||
Locale,
|
||||
@@ -8,7 +8,7 @@ import { range } from 'lodash';
|
||||
import { translator } from '../localization/translator';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export default function addTierChoices(option: SlashCommandStringOption) {
|
||||
export function addTierChoices(option: SlashCommandStringOption) {
|
||||
const { t, translate } = translator(Locale.EnglishUS);
|
||||
|
||||
return option
|
||||
@@ -31,7 +31,7 @@ export default function addTierChoices(option: SlashCommandStringOption) {
|
||||
'bot.common.options.tier.choices.tier',
|
||||
[`${tier}`, numberToRomanNumeral(tier)],
|
||||
),
|
||||
} satisfies APIApplicationCommandOptionChoice),
|
||||
}) satisfies APIApplicationCommandOptionChoice,
|
||||
),
|
||||
)
|
||||
.setRequired(true);
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
|
||||
import { translator } from '../localization/translator';
|
||||
import { localizationObject } from './localizationObject';
|
||||
|
||||
export default function addUsernameChoices(option: SlashCommandStringOption) {
|
||||
export function addUsernameChoices(option: SlashCommandStringOption) {
|
||||
const { t } = translator(Locale.EnglishUS);
|
||||
|
||||
return option
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import searchClansAcrossRegions from '@blitzkit/core/src/blitz/searchClansAcrossRegions';
|
||||
import { searchClansAcrossRegions } from '@blitzkit/core';
|
||||
import {
|
||||
ApplicationCommandOptionChoiceData,
|
||||
AutocompleteInteraction,
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
import { translator } from '../../localization/translator';
|
||||
import { DISCORD_CHOICES_MAX_NAME_SIZE, OVERFLOW_SUFFIX } from './constants';
|
||||
|
||||
export default async function autocompleteClan(
|
||||
export async function autocompleteClan(
|
||||
interaction: AutocompleteInteraction<CacheType>,
|
||||
) {
|
||||
const { translate } = translator(interaction.locale);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { tankNames } from '@blitzkit/core';
|
||||
import {
|
||||
ApplicationCommandOptionChoiceData,
|
||||
AutocompleteInteraction,
|
||||
@@ -8,13 +9,12 @@ import {
|
||||
DISCORD_CHOICES_MAX_NAME_SIZE,
|
||||
OVERFLOW_SUFFIX,
|
||||
} from './autocompleteClan/constants';
|
||||
import { tankNames } from '@blitzkit/core';
|
||||
|
||||
export const tankNamesTechTreeOnly = tankNames.then((names) =>
|
||||
names.filter((tank) => tank.treeType === 'researchable'),
|
||||
);
|
||||
|
||||
export default async function autocompleteTanks(
|
||||
export async function autocompleteTanks(
|
||||
interaction: AutocompleteInteraction<CacheType>,
|
||||
techTreeOnly = false,
|
||||
fields = ['tank'],
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import { searchPlayersAcrossRegions } from '@blitzkit/core';
|
||||
import {
|
||||
ApplicationCommandOptionChoiceData,
|
||||
AutocompleteInteraction,
|
||||
CacheType,
|
||||
} from 'discord.js';
|
||||
import searchPlayersAcrossRegions from '../../../../website/src/core/blitz/searchPlayersAcrossRegions';
|
||||
import { translator } from '../localization/translator';
|
||||
import {
|
||||
DISCORD_CHOICES_MAX_NAME_SIZE,
|
||||
OVERFLOW_SUFFIX,
|
||||
} from './autocompleteClan/constants';
|
||||
|
||||
export default async function autocompleteUsername(
|
||||
export async function autocompleteUsername(
|
||||
interaction: AutocompleteInteraction<CacheType>,
|
||||
) {
|
||||
const { translate } = translator(interaction.locale);
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
ComponentEmojiResolvable,
|
||||
} from 'discord.js';
|
||||
|
||||
export default function buttonLink(
|
||||
export function buttonLink(
|
||||
url: string,
|
||||
label: string,
|
||||
emoji?: ComponentEmojiResolvable,
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
ComponentEmojiResolvable,
|
||||
} from 'discord.js';
|
||||
|
||||
export default function buttonPrimary(
|
||||
export function buttonPrimary(
|
||||
id: string,
|
||||
label: string,
|
||||
emoji?: ComponentEmojiResolvable,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ChatInputCommandInteraction } from 'discord.js';
|
||||
import { translator } from '../localization/translator';
|
||||
import buttonPrimary from './buttonPrimary';
|
||||
import { buttonPrimary } from './buttonPrimary';
|
||||
|
||||
export function buttonRefresh(
|
||||
interaction: ChatInputCommandInteraction,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Client, GatewayIntentBits } from 'discord.js';
|
||||
import interactionCreate from '../../events/interactionCreate';
|
||||
import ready from '../../events/ready';
|
||||
import { interactionCreate } from '../../events/interactionCreate';
|
||||
import { ready } from '../../events/ready';
|
||||
|
||||
export const client = new Client({
|
||||
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers],
|
||||
|
||||
@@ -7,7 +7,7 @@ export interface Parameters {
|
||||
// TODO: automatically infer command options???
|
||||
// but how would that work with the region and id options?
|
||||
|
||||
export default function commandToURL(
|
||||
export function commandToURL(
|
||||
interaction: ChatInputCommandInteraction<CacheType>,
|
||||
parameters?: Parameters,
|
||||
) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { EmbedBuilder } from 'discord.js';
|
||||
import { ACCENT_COLOR } from './colors';
|
||||
|
||||
export default function embedInfo(title: string, description: string) {
|
||||
export function embedInfo(title: string, description: string) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor(ACCENT_COLOR)
|
||||
.setDescription(description);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { EmbedBuilder } from 'discord.js';
|
||||
import { NEGATIVE_COLOR } from './colors';
|
||||
|
||||
export default function embedNegative(title: string, description: string) {
|
||||
export function embedNegative(title: string, description: string) {
|
||||
return new EmbedBuilder()
|
||||
.setColor(NEGATIVE_COLOR)
|
||||
.setTitle(title)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { EmbedBuilder } from 'discord.js';
|
||||
import { POSITIVE_COLOR } from './colors';
|
||||
|
||||
export default function embedPositive(title: string, description: string) {
|
||||
export function embedPositive(title: string, description: string) {
|
||||
return new EmbedBuilder()
|
||||
.setColor(POSITIVE_COLOR)
|
||||
.setTitle(title)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { EmbedBuilder } from 'discord.js';
|
||||
import { WARNING_COLOR } from './colors';
|
||||
|
||||
export default function embedWarning(title: string, description: string) {
|
||||
export function embedWarning(title: string, description: string) {
|
||||
return new EmbedBuilder()
|
||||
.setColor(WARNING_COLOR)
|
||||
.setTitle(title)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { StatFilters, TreeType } from '@blitzkit/core';
|
||||
import { ChatInputCommandInteraction } from 'discord.js';
|
||||
import resolveTankId from '../blitz/resolveTankId';
|
||||
import { resolveTankId } from '../blitz/resolveTankId';
|
||||
|
||||
export async function getFiltersFromCommand(
|
||||
interaction: ChatInputCommandInteraction,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export type TableInputEntry = [string, string | number] | [];
|
||||
export type TableInput = TableInputEntry[];
|
||||
|
||||
export default function markdownTable(input: TableInput) {
|
||||
export function markdownTable(input: TableInput) {
|
||||
return input
|
||||
.filter((array) => array[1] !== undefined)
|
||||
.map((array) => (array.length === 0 ? '' : `**${array[0]}**: ${array[1]}`))
|
||||
|
||||
@@ -10,9 +10,9 @@ import {
|
||||
import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration';
|
||||
import { InteractionReturnable } from '../../events/interactionCreate';
|
||||
import { Writeable } from '../../types/writable';
|
||||
import jsxToPngThreaded from '../blitzkit/jsxToPngThreaded';
|
||||
import { jsxToPngThreaded } from '../blitzkit/jsxToPngThreaded';
|
||||
|
||||
export default async function normalizeInteractionReturnable(
|
||||
export async function normalizeInteractionReturnable(
|
||||
returnable: InteractionReturnable,
|
||||
) {
|
||||
const images: [number, Buffer][] = [];
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import searchClansAcrossRegions from '@blitzkit/core/src/blitz/searchClansAcrossRegions';
|
||||
import { Region, searchClansAcrossRegions } from '@blitzkit/core';
|
||||
import { ChatInputCommandInteraction } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { UserError } from '../../../../website/src/hooks/userError';
|
||||
import { translator } from '../localization/translator';
|
||||
import { serverAndIdPattern } from './resolvePlayerFromCommand/constants';
|
||||
|
||||
export default async function resolveClanFromCommand(
|
||||
export async function resolveClanFromCommand(
|
||||
interaction: ChatInputCommandInteraction,
|
||||
) {
|
||||
const { translate } = translator(interaction.locale);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import { ButtonInteraction } from 'discord.js';
|
||||
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
|
||||
import getPeriodNow from '../blitzkit/getPeriodNow';
|
||||
import getPeriodStart from '../blitzkit/getPeriodStart';
|
||||
import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
|
||||
import { getPeriodNow } from '../blitzkit/getPeriodNow';
|
||||
import { getPeriodStart } from '../blitzkit/getPeriodStart';
|
||||
import { PeriodType } from './addPeriodSubCommands';
|
||||
import { getPeriodOptionName } from './getPeriodOptionName';
|
||||
import { ResolvedPeriod } from './resolvePeriodFromCommand';
|
||||
|
||||
export default function resolvePeriodFromButton(
|
||||
export function resolvePeriodFromButton(
|
||||
region: Region,
|
||||
interaction: ButtonInteraction,
|
||||
) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import { CacheType, ChatInputCommandInteraction } from 'discord.js';
|
||||
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
|
||||
import getPeriodNow from '../blitzkit/getPeriodNow';
|
||||
import getPeriodStart from '../blitzkit/getPeriodStart';
|
||||
import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
|
||||
import { getPeriodNow } from '../blitzkit/getPeriodNow';
|
||||
import { getPeriodStart } from '../blitzkit/getPeriodStart';
|
||||
import { translator } from '../localization/translator';
|
||||
import { PeriodType } from './addPeriodSubCommands';
|
||||
import { getPeriodOptionName } from './getPeriodOptionName';
|
||||
@@ -13,7 +13,7 @@ export interface ResolvedPeriod {
|
||||
end: number;
|
||||
}
|
||||
|
||||
export default function resolvePeriodFromCommand(
|
||||
export function resolvePeriodFromCommand(
|
||||
region: Region,
|
||||
interaction: ChatInputCommandInteraction<CacheType>,
|
||||
forcedPeriod?: PeriodType,
|
||||
|
||||
@@ -2,9 +2,7 @@ import { Region } from '@blitzkit/core';
|
||||
import { ButtonInteraction } from 'discord.js';
|
||||
import { ResolvedPlayer } from './resolvePlayerFromCommand';
|
||||
|
||||
export default async function resolvePlayerFromButton(
|
||||
interaction: ButtonInteraction,
|
||||
) {
|
||||
export async function resolvePlayerFromButton(interaction: ButtonInteraction) {
|
||||
const url = new URL(`https://exmaple.com/${interaction.customId}`);
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import { Region, searchPlayersAcrossRegions } from '@blitzkit/core';
|
||||
import { CacheType, ChatInputCommandInteraction } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import searchPlayersAcrossRegions from '../../../../../website/src/core/blitz/searchPlayersAcrossRegions';
|
||||
import { UserError } from '../../../../../website/src/hooks/userError';
|
||||
import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord';
|
||||
import { translator } from '../../localization/translator';
|
||||
@@ -12,7 +11,7 @@ export interface ResolvedPlayer {
|
||||
id: number;
|
||||
}
|
||||
|
||||
export default async function resolvePlayerFromCommand(
|
||||
export async function resolvePlayerFromCommand(
|
||||
interaction: ChatInputCommandInteraction<CacheType>,
|
||||
) {
|
||||
const { t, translate } = translator(interaction.locale);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { ReadStream } from '@blitzkit/core';
|
||||
import AdmZip from 'adm-zip';
|
||||
import { readFile, writeFile } from 'fs/promises';
|
||||
import { Parser } from 'pickleparser';
|
||||
import protobuf from 'protobufjs';
|
||||
import { ReadStream } from '../../../../core/src/streams/buffer';
|
||||
|
||||
interface WotbReplayMetaJson {
|
||||
version: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { AutocompleteInteraction, CacheType } from 'discord.js';
|
||||
import { commands } from '..';
|
||||
|
||||
export default async function handleAutocomplete(
|
||||
export async function handleAutocomplete(
|
||||
interaction: AutocompleteInteraction<CacheType>,
|
||||
) {
|
||||
const command = (await commands)[interaction.commandName];
|
||||
|
||||
@@ -2,9 +2,7 @@ import { ButtonInteraction, CacheType } from 'discord.js';
|
||||
import { commands } from '..';
|
||||
import normalizeInteractionReturnable from '../../../core/discord/normalizeInteractionReturnable';
|
||||
|
||||
export default async function handleButton(
|
||||
interaction: ButtonInteraction<CacheType>,
|
||||
) {
|
||||
export async function handleButton(interaction: ButtonInteraction<CacheType>) {
|
||||
await interaction.deferUpdate();
|
||||
|
||||
const url = new URL(`https://example.com/${interaction.customId}`);
|
||||
|
||||
@@ -9,14 +9,14 @@ import {
|
||||
} from 'discord.js';
|
||||
import { InteractionRawReturnable, commands } from '..';
|
||||
import { UserError } from '../../../../../website/src/hooks/userError';
|
||||
import buttonLink from '../../../core/discord/buttonLink';
|
||||
import embedWarning from '../../../core/discord/embedWarning';
|
||||
import normalizeInteractionReturnable from '../../../core/discord/normalizeInteractionReturnable';
|
||||
import { buttonLink } from '../../../core/discord/buttonLink';
|
||||
import { embedWarning } from '../../../core/discord/embedWarning';
|
||||
import { normalizeInteractionReturnable } from '../../../core/discord/normalizeInteractionReturnable';
|
||||
import { psa } from '../../../core/discord/psa';
|
||||
import { translator } from '../../../core/localization/translator';
|
||||
import { Writeable } from '../../../types/writable';
|
||||
|
||||
export default async function handleChatInputCommand(
|
||||
export async function handleChatInputCommand(
|
||||
interaction: ChatInputCommandInteraction<CacheType>,
|
||||
) {
|
||||
const awaitedCommands = await commands;
|
||||
|
||||
@@ -34,9 +34,9 @@ import { searchClansCommand } from '../../commands/searchClans';
|
||||
import { searchPlayersCommand } from '../../commands/searchPlayers';
|
||||
import { statsCommand } from '../../commands/stats';
|
||||
import { todayCommand } from '../../commands/today';
|
||||
import handleAutocomplete from './handlers/autocomplete';
|
||||
import handleButton from './handlers/button';
|
||||
import handleChatInputCommand from './handlers/chatInputCommand';
|
||||
import { handleAutocomplete } from './handlers/autocomplete';
|
||||
import { handleButton } from './handlers/button';
|
||||
import { handleChatInputCommand } from './handlers/chatInputCommand';
|
||||
|
||||
export type InteractionRawReturnable =
|
||||
| string
|
||||
@@ -130,9 +130,7 @@ commands.then((awaitedCommands) => {
|
||||
);
|
||||
});
|
||||
|
||||
export default async function interactionCreate(
|
||||
interaction: Interaction<CacheType>,
|
||||
) {
|
||||
export async function interactionCreate(interaction: Interaction<CacheType>) {
|
||||
if (interaction.isAutocomplete()) {
|
||||
handleAutocomplete(interaction);
|
||||
} else if (interaction.isChatInputCommand()) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ActivityType, Client } from 'discord.js';
|
||||
|
||||
export default function ready(client: Client<true>) {
|
||||
export function ready(client: Client<true>) {
|
||||
console.log(`🟢 Launched bot ${client.shard?.ids[0] ?? 'default'}`);
|
||||
|
||||
const activities: (() => string)[] = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { parentPort, threadId } from 'worker_threads';
|
||||
import svgToPng from '../core/blitzkit/svgToPng';
|
||||
import { svgToPng } from '../core/blitzkit/svgToPng';
|
||||
|
||||
console.log(`🟢 Launched render worker ${threadId}`);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"include": ["src/**/*"]
|
||||
"include": ["src/**/*", "../core/src/blitz/getRatingInfo.ts"]
|
||||
}
|
||||
+3
-4
@@ -1,6 +1,5 @@
|
||||
import { assertSecret, Region } from '@blitzkit/core';
|
||||
import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager';
|
||||
import { patientFetch } from '../blitzkit/patientFetch';
|
||||
import { assertSecret, EventManager, Region } from '@blitzkit/core';
|
||||
import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
|
||||
|
||||
const RETRY_ERRORS = ['REQUEST_LIMIT_EXCEEDED', 'SOURCE_NOT_AVAILABLE'];
|
||||
|
||||
@@ -64,7 +63,7 @@ async function manageQueue() {
|
||||
|
||||
export type FetchBlitzParams = Record<string, string | number | undefined>;
|
||||
|
||||
export default function fetchBlitz<Data extends object>(
|
||||
export function fetchBlitz<Data extends object>(
|
||||
region: Region,
|
||||
path: string,
|
||||
params: FetchBlitzParams = {},
|
||||
File renamed without changes.
+4
-4
@@ -1,11 +1,11 @@
|
||||
import { RatingInfo, Region } from '@blitzkit/core';
|
||||
import { context } from '../blitzkit/context';
|
||||
import { patientFetch } from '../blitzkit/patientFetch';
|
||||
import regionToRegionSubdomain from './regionToRegionSubdomain';
|
||||
import { regionToRegionSubdomain } from '../../../website/src/core/blitz/regionToRegionSubdomain';
|
||||
import { context } from '../../../website/src/core/blitzkit/context';
|
||||
import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
|
||||
|
||||
const cache: Partial<Record<Region, RatingInfo>> = {};
|
||||
|
||||
export default async function getRatingInfo(region: Region) {
|
||||
export async function getRatingInfo(region: Region) {
|
||||
if (cache[region]) return cache[region]!;
|
||||
|
||||
const response = await patientFetch(
|
||||
@@ -1,10 +1,15 @@
|
||||
export * from './clans';
|
||||
export * from './constants';
|
||||
export * from './equipmentPrice';
|
||||
export * from './fetchBlitz';
|
||||
export * from './getLeagueFromScore';
|
||||
export * from './getRatingInfo';
|
||||
export * from './idToRegion';
|
||||
export * from './nations';
|
||||
export * from './permanentSkills';
|
||||
export * from './rating';
|
||||
export * from './regions';
|
||||
export * from './regionSubdomainToRegion';
|
||||
export * from './resolveNearPenetration';
|
||||
export * from './searchClansAcrossRegions';
|
||||
export * from './searchPlayersAcrossRegions';
|
||||
@@ -0,0 +1,5 @@
|
||||
import { Region, RegionSubdomain } from '@blitzkit/core';
|
||||
|
||||
export function regionSubdomainToRegion(regionDomain: RegionSubdomain): Region {
|
||||
return regionDomain === 'na' ? 'com' : regionDomain;
|
||||
}
|
||||
@@ -1,11 +1,7 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz';
|
||||
import { fetchBlitz, Region } from '@blitzkit/core';
|
||||
import { ClanList } from './clans';
|
||||
|
||||
export default async function searchClansAcrossRegions(
|
||||
search: string,
|
||||
limit = 25,
|
||||
) {
|
||||
export async function searchClansAcrossRegions(search: string, limit = 25) {
|
||||
const trimmed = search.trim();
|
||||
if (trimmed.length < 3 && trimmed.length > 100) return [];
|
||||
const normalizedLimit = Math.floor(limit / 3);
|
||||
|
||||
File renamed without changes.
+2
-5
@@ -1,5 +1,5 @@
|
||||
import { Region } from '@blitzkit/core';
|
||||
import fetchBlitz from '../fetchBlitz';
|
||||
import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz';
|
||||
import { usernamePattern } from './constants';
|
||||
|
||||
export interface AccountListItem {
|
||||
@@ -11,10 +11,7 @@ export type AccountListWithServer = (AccountListItem & {
|
||||
region: Region;
|
||||
})[];
|
||||
|
||||
export default async function searchPlayersAcrossRegions(
|
||||
search: string,
|
||||
limit = 25,
|
||||
) {
|
||||
export async function searchPlayersAcrossRegions(search: string, limit = 25) {
|
||||
const trimmedSearch = search.trim();
|
||||
const normalizedLimit = Math.floor(limit / 3);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions';
|
||||
import { ProvisionDefinitions } from '@blitzkit/core';
|
||||
import { checkConsumableProvisionInclusivity } from './checkConsumableProvisionInclusivity';
|
||||
import { GunDefinition, TankDefinition } from './tankDefinitions';
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { asset } from '@blitzkit/core/src/blitzkit/asset';
|
||||
import { fetchCdonLz4 } from '@blitzkit/core/src/blitzkit/fetchCdonLz4';
|
||||
import { asset, fetchCdonLz4 } from '@blitzkit/core';
|
||||
|
||||
export type CamouflageDefinitions = Record<
|
||||
number,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { ConsumableEntry } from '@blitzkit/core/src/blitzkit/consumableDefinitions';
|
||||
import { ProvisionEntry } from '@blitzkit/core/src/blitzkit/provisionDefinitions';
|
||||
import { ConsumableEntry, ProvisionEntry } from '@blitzkit/core';
|
||||
import { GunDefinition, TankDefinition } from './tankDefinitions';
|
||||
|
||||
export function checkConsumableProvisionInclusivity(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SkillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions';
|
||||
import { SkillDefinitions } from '@blitzkit/core';
|
||||
import { permanentSkills } from '../blitz/permanentSkills';
|
||||
|
||||
export function createDefaultSkills(skillDefinitions: SkillDefinitions) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { superDecompress } from '@blitzkit/core/src/blitzkit/superDecompress';
|
||||
import { superDecompress } from '@blitzkit/core';
|
||||
|
||||
export async function fetchCdonLz4<Type>(url: string) {
|
||||
return await fetch(url, { cache: 'no-store' })
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { assertSecret } from '@blitzkit/core';
|
||||
import getRatingInfo from '../blitz/getRatingInfo';
|
||||
import { getRatingInfo } from '@blitzkit/core/src/blitz/getRatingInfo';
|
||||
|
||||
interface GitHubTrees {
|
||||
tree: { path: string; url: string }[];
|
||||
+2
-6
@@ -1,5 +1,4 @@
|
||||
import { RatingInfo, Region, asset } from '@blitzkit/core';
|
||||
import { superDecompress } from '@blitzkit/core/src/blitzkit/superDecompress';
|
||||
import { RatingInfo, Region, asset, superDecompress } from '@blitzkit/core';
|
||||
|
||||
const cache: Record<
|
||||
Region,
|
||||
@@ -15,10 +14,7 @@ const cache: Record<
|
||||
asia: {},
|
||||
};
|
||||
|
||||
export default async function getArchivedRatingInfo(
|
||||
region: Region,
|
||||
season: number,
|
||||
) {
|
||||
export async function getArchivedRatingInfo(region: Region, season: number) {
|
||||
if (!cache[region][season]) {
|
||||
const info = await fetch(
|
||||
asset(`regions/${region}/rating/${season}/info.cdon.lz4`),
|
||||
File renamed without changes.
+1
-1
@@ -11,7 +11,7 @@ const cache: Record<Region, Record<number, BkrlDiscriminatedEntries | null>> = {
|
||||
asia: {},
|
||||
};
|
||||
|
||||
export default async function getArchivedRatingMidnightLeaderboard(
|
||||
export async function getArchivedRatingMidnightLeaderboard(
|
||||
region: Region,
|
||||
season: number,
|
||||
) {
|
||||
@@ -13,6 +13,10 @@ export * from './eventManager';
|
||||
export * from './fetchCdonLz4';
|
||||
export * from './filterTank';
|
||||
export * from './gameDefinitions';
|
||||
export * from './getArchivedLatestSeasonNumber';
|
||||
export * from './getArchivedRatingInfo';
|
||||
export * from './getArchivedRatingLeaderboard';
|
||||
export * from './getArchivedRatingMidnightLeaderboard';
|
||||
export * from './isExplosive';
|
||||
export * from './modelDefinitions';
|
||||
export * from './normalizeBoundingBox';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TankFilterDefinition } from '@blitzkit/core/src/blitzkit/consumableDefinitions';
|
||||
import { TankFilterDefinition } from '@blitzkit/core';
|
||||
import { asset } from './asset';
|
||||
import { fetchCdonLz4 } from './fetchCdonLz4';
|
||||
|
||||
|
||||
Loaded 100 of 182 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user