diff --git a/packages/api/src/app/[region]/rating/current/info/route.ts b/packages/api/src/app/[region]/rating/current/info/route.ts index 8d4550b28..675be3a39 100644 --- a/packages/api/src/app/[region]/rating/current/info/route.ts +++ b/packages/api/src/app/[region]/rating/current/info/route.ts @@ -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, diff --git a/packages/api/src/app/tank-averages/route.ts b/packages/api/src/app/tank-averages/route.ts index f9e73a98f..fc2225beb 100644 --- a/packages/api/src/app/tank-averages/route.ts +++ b/packages/api/src/app/tank-averages/route.ts @@ -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() { diff --git a/packages/api/src/app/tank-voting/[id]/average/route.ts b/packages/api/src/app/tank-voting/[id]/average/route.ts index 41ab3d61a..bd6de7e31 100644 --- a/packages/api/src/app/tank-voting/[id]/average/route.ts +++ b/packages/api/src/app/tank-voting/[id]/average/route.ts @@ -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, diff --git a/packages/api/src/app/tank-voting/[id]/cast/route.ts b/packages/api/src/app/tank-voting/[id]/cast/route.ts index b104f96cf..69ff144b1 100644 --- a/packages/api/src/app/tank-voting/[id]/cast/route.ts +++ b/packages/api/src/app/tank-voting/[id]/cast/route.ts @@ -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'; diff --git a/packages/bot/src/commands/breakdown/index.tsx b/packages/bot/src/commands/breakdown/index.tsx index 5acd2237a..c282e6dde 100644 --- a/packages/bot/src/commands/breakdown/index.tsx +++ b/packages/bot/src/commands/breakdown/index.tsx @@ -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'; diff --git a/packages/bot/src/commands/breakdown/render.tsx b/packages/bot/src/commands/breakdown/render.tsx index 79e128581..231d2137f 100644 --- a/packages/bot/src/commands/breakdown/render.tsx +++ b/packages/bot/src/commands/breakdown/render.tsx @@ -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'; diff --git a/packages/bot/src/commands/evolution.tsx b/packages/bot/src/commands/evolution.tsx index baf2b7231..8d19cacf1 100644 --- a/packages/bot/src/commands/evolution.tsx +++ b/packages/bot/src/commands/evolution.tsx @@ -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'; diff --git a/packages/bot/src/commands/fullStats.tsx b/packages/bot/src/commands/fullStats.tsx index c4acac6ac..cb40b7d62 100644 --- a/packages/bot/src/commands/fullStats.tsx +++ b/packages/bot/src/commands/fullStats.tsx @@ -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'; diff --git a/packages/bot/src/commands/inactive.tsx b/packages/bot/src/commands/inactive.tsx index 62e3d121f..50bdc6ca4 100644 --- a/packages/bot/src/commands/inactive.tsx +++ b/packages/bot/src/commands/inactive.tsx @@ -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'; diff --git a/packages/bot/src/commands/link.tsx b/packages/bot/src/commands/link.tsx index 8cf45f682..eb535fd64 100644 --- a/packages/bot/src/commands/link.tsx +++ b/packages/bot/src/commands/link.tsx @@ -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'; diff --git a/packages/bot/src/commands/ownedTanks.tsx b/packages/bot/src/commands/ownedTanks.tsx index 78f586511..e0468ce9b 100644 --- a/packages/bot/src/commands/ownedTanks.tsx +++ b/packages/bot/src/commands/ownedTanks.tsx @@ -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'; diff --git a/packages/bot/src/commands/playerInfo.ts b/packages/bot/src/commands/playerInfo.ts index 68d29026c..e412755b6 100644 --- a/packages/bot/src/commands/playerInfo.ts +++ b/packages/bot/src/commands/playerInfo.ts @@ -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'; diff --git a/packages/bot/src/commands/rating.tsx b/packages/bot/src/commands/rating.tsx index eaa04a4ea..745655c9d 100644 --- a/packages/bot/src/commands/rating.tsx +++ b/packages/bot/src/commands/rating.tsx @@ -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'; diff --git a/packages/bot/src/commands/ratingLeaderboard.tsx b/packages/bot/src/commands/ratingLeaderboard.tsx index b8a06a9c0..ef2b9852c 100644 --- a/packages/bot/src/commands/ratingLeaderboard.tsx +++ b/packages/bot/src/commands/ratingLeaderboard.tsx @@ -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'; diff --git a/packages/bot/src/commands/replay.tsx b/packages/bot/src/commands/replay.tsx index 1661a4129..fecbff38a 100644 --- a/packages/bot/src/commands/replay.tsx +++ b/packages/bot/src/commands/replay.tsx @@ -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'; diff --git a/packages/bot/src/commands/research.tsx b/packages/bot/src/commands/research.tsx index d706f8322..df27788f9 100644 --- a/packages/bot/src/commands/research.tsx +++ b/packages/bot/src/commands/research.tsx @@ -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'; diff --git a/packages/bot/src/commands/searchClans.ts b/packages/bot/src/commands/searchClans.ts index 2f73f5319..fc8a6d608 100644 --- a/packages/bot/src/commands/searchClans.ts +++ b/packages/bot/src/commands/searchClans.ts @@ -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'; diff --git a/packages/bot/src/commands/searchPlayers.ts b/packages/bot/src/commands/searchPlayers.ts index 348631983..1a2251ac5 100644 --- a/packages/bot/src/commands/searchPlayers.ts +++ b/packages/bot/src/commands/searchPlayers.ts @@ -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'; diff --git a/packages/bot/src/commands/today.ts b/packages/bot/src/commands/today.ts index de2792cf7..43efa2281 100644 --- a/packages/bot/src/commands/today.ts +++ b/packages/bot/src/commands/today.ts @@ -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'; diff --git a/packages/bot/src/components/AllStatsOverview/index.tsx b/packages/bot/src/components/AllStatsOverview/index.tsx index a3c12d115..7233a8352 100644 --- a/packages/bot/src/components/AllStatsOverview/index.tsx +++ b/packages/bot/src/components/AllStatsOverview/index.tsx @@ -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, diff --git a/packages/bot/src/components/Breakdown/components/Row.tsx b/packages/bot/src/components/Breakdown/components/Row.tsx index f45f8313f..6febf58fc 100644 --- a/packages/bot/src/components/Breakdown/components/Row.tsx +++ b/packages/bot/src/components/Breakdown/components/Row.tsx @@ -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, diff --git a/packages/bot/src/components/Breakdown/components/RowStat.tsx b/packages/bot/src/components/Breakdown/components/RowStat.tsx index c759dfff1..452a0eaf2 100644 --- a/packages/bot/src/components/Breakdown/components/RowStat.tsx +++ b/packages/bot/src/components/Breakdown/components/RowStat.tsx @@ -1,4 +1,4 @@ -import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; +import { Percentile } from '@blitzkit/core'; import { createColors } from 'bepaint'; import { AccentColor, diff --git a/packages/bot/src/components/CommandWrapper.tsx b/packages/bot/src/components/CommandWrapper.tsx index 84d82e3b5..e03c2efca 100644 --- a/packages/bot/src/components/CommandWrapper.tsx +++ b/packages/bot/src/components/CommandWrapper.tsx @@ -6,7 +6,7 @@ interface CommandWrapperProps { fat?: boolean; } -export default function CommandWrapper({ children, fat }: CommandWrapperProps) { +export function CommandWrapper({ children, fat }: CommandWrapperProps) { return (
{stats.map((stat) => ( diff --git a/packages/bot/src/components/GenericStats/components/GenericStatsRow.tsx b/packages/bot/src/components/GenericStats/components/GenericStatsRow.tsx index 1f458a158..57e0db989 100644 --- a/packages/bot/src/components/GenericStats/components/GenericStatsRow.tsx +++ b/packages/bot/src/components/GenericStats/components/GenericStatsRow.tsx @@ -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 (
value !== undefined); const itemsPerRow = Math.ceil(filteredStats.length / columnCount); const columns: GenericStat[][] = []; diff --git a/packages/bot/src/components/NoData/index.tsx b/packages/bot/src/components/NoData/index.tsx index 4a23defcb..cf2d46004 100644 --- a/packages/bot/src/components/NoData/index.tsx +++ b/packages/bot/src/components/NoData/index.tsx @@ -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 ( diff --git a/packages/bot/src/components/PercentileIndicator/constants.ts b/packages/bot/src/components/PercentileIndicator/constants.ts index f3e119859..b5cefb554 100644 --- a/packages/bot/src/components/PercentileIndicator/constants.ts +++ b/packages/bot/src/components/PercentileIndicator/constants.ts @@ -1,4 +1,4 @@ -import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; +import { Percentile } from '@blitzkit/core'; import { amber, blue, diff --git a/packages/bot/src/components/PercentileIndicator/index.tsx b/packages/bot/src/components/PercentileIndicator/index.tsx index d2a1f1a94..f7c0f5b68 100644 --- a/packages/bot/src/components/PercentileIndicator/index.tsx +++ b/packages/bot/src/components/PercentileIndicator/index.tsx @@ -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 (
{Object.entries(weights).map(([tier, weight]) => ( diff --git a/packages/bot/src/components/TitleBar.tsx b/packages/bot/src/components/TitleBar.tsx index 96b2739ce..e64d0db7b 100644 --- a/packages/bot/src/components/TitleBar.tsx +++ b/packages/bot/src/components/TitleBar.tsx @@ -6,7 +6,7 @@ interface TitleBarProps { description?: string; } -export default function TitleBar({ title, image, description }: TitleBarProps) { +export function TitleBar({ title, image, description }: TitleBarProps) { return (
, diff --git a/packages/bot/src/core/blitzstars/getStatsInPeriod.ts b/packages/bot/src/core/blitzstars/getStatsInPeriod.ts index 5e92adc6e..25c823e56 100644 --- a/packages/bot/src/core/blitzstars/getStatsInPeriod.ts +++ b/packages/bot/src/core/blitzstars/getStatsInPeriod.ts @@ -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, diff --git a/packages/bot/src/core/blitzstars/getTankHistories.ts b/packages/bot/src/core/blitzstars/getTankHistories.ts index 1d532e109..649a11a8c 100644 --- a/packages/bot/src/core/blitzstars/getTankHistories.ts +++ b/packages/bot/src/core/blitzstars/getTankHistories.ts @@ -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 = {}; diff --git a/packages/bot/src/core/discord/addClanChoices.ts b/packages/bot/src/core/discord/addClanChoices.ts index 7e3a46be3..c03d6f5b9 100644 --- a/packages/bot/src/core/discord/addClanChoices.ts +++ b/packages/bot/src/core/discord/addClanChoices.ts @@ -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 diff --git a/packages/bot/src/core/discord/addFilterOptions.ts b/packages/bot/src/core/discord/addFilterOptions.ts index a1b300bf6..b3792ddd6 100644 --- a/packages/bot/src/core/discord/addFilterOptions.ts +++ b/packages/bot/src/core/discord/addFilterOptions.ts @@ -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), diff --git a/packages/bot/src/core/discord/addPeriodicFilterOptions.ts b/packages/bot/src/core/discord/addPeriodicFilterOptions.ts index d74186da2..90da0bf7f 100644 --- a/packages/bot/src/core/discord/addPeriodicFilterOptions.ts +++ b/packages/bot/src/core/discord/addPeriodicFilterOptions.ts @@ -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, diff --git a/packages/bot/src/core/discord/addRegionChoices.ts b/packages/bot/src/core/discord/addRegionChoices.ts index 7b1e2afa2..489741f65 100644 --- a/packages/bot/src/core/discord/addRegionChoices.ts +++ b/packages/bot/src/core/discord/addRegionChoices.ts @@ -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); diff --git a/packages/bot/src/core/discord/addTankChoices.ts b/packages/bot/src/core/discord/addTankChoices.ts index b224fc2a9..2b96591bc 100644 --- a/packages/bot/src/core/discord/addTankChoices.ts +++ b/packages/bot/src/core/discord/addTankChoices.ts @@ -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 diff --git a/packages/bot/src/core/discord/addTierChoices.ts b/packages/bot/src/core/discord/addTierChoices.ts index b3029115e..30ed76f22 100644 --- a/packages/bot/src/core/discord/addTierChoices.ts +++ b/packages/bot/src/core/discord/addTierChoices.ts @@ -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); diff --git a/packages/bot/src/core/discord/addUsernameChoices.ts b/packages/bot/src/core/discord/addUsernameChoices.ts index 3665908c5..14d69f6a2 100644 --- a/packages/bot/src/core/discord/addUsernameChoices.ts +++ b/packages/bot/src/core/discord/addUsernameChoices.ts @@ -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 diff --git a/packages/bot/src/core/discord/autocompleteClan/index.ts b/packages/bot/src/core/discord/autocompleteClan/index.ts index d012b3c6b..a36c15713 100644 --- a/packages/bot/src/core/discord/autocompleteClan/index.ts +++ b/packages/bot/src/core/discord/autocompleteClan/index.ts @@ -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, ) { const { translate } = translator(interaction.locale); diff --git a/packages/bot/src/core/discord/autocompleteTanks.ts b/packages/bot/src/core/discord/autocompleteTanks.ts index 1f09ebb55..07ecf84e4 100644 --- a/packages/bot/src/core/discord/autocompleteTanks.ts +++ b/packages/bot/src/core/discord/autocompleteTanks.ts @@ -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, techTreeOnly = false, fields = ['tank'], diff --git a/packages/bot/src/core/discord/autocompleteUsername.ts b/packages/bot/src/core/discord/autocompleteUsername.ts index 4a8871157..2e5d9b18f 100644 --- a/packages/bot/src/core/discord/autocompleteUsername.ts +++ b/packages/bot/src/core/discord/autocompleteUsername.ts @@ -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, ) { const { translate } = translator(interaction.locale); diff --git a/packages/bot/src/core/discord/buttonLink.ts b/packages/bot/src/core/discord/buttonLink.ts index 5df2dfdf9..5c1068f15 100644 --- a/packages/bot/src/core/discord/buttonLink.ts +++ b/packages/bot/src/core/discord/buttonLink.ts @@ -4,7 +4,7 @@ import { ComponentEmojiResolvable, } from 'discord.js'; -export default function buttonLink( +export function buttonLink( url: string, label: string, emoji?: ComponentEmojiResolvable, diff --git a/packages/bot/src/core/discord/buttonPrimary.ts b/packages/bot/src/core/discord/buttonPrimary.ts index 9a38a56b5..6c78a14a8 100644 --- a/packages/bot/src/core/discord/buttonPrimary.ts +++ b/packages/bot/src/core/discord/buttonPrimary.ts @@ -4,7 +4,7 @@ import { ComponentEmojiResolvable, } from 'discord.js'; -export default function buttonPrimary( +export function buttonPrimary( id: string, label: string, emoji?: ComponentEmojiResolvable, diff --git a/packages/bot/src/core/discord/buttonRefresh.ts b/packages/bot/src/core/discord/buttonRefresh.ts index 5802a2df2..caef84b41 100644 --- a/packages/bot/src/core/discord/buttonRefresh.ts +++ b/packages/bot/src/core/discord/buttonRefresh.ts @@ -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, diff --git a/packages/bot/src/core/discord/client.ts b/packages/bot/src/core/discord/client.ts index c911a2408..5e9931914 100644 --- a/packages/bot/src/core/discord/client.ts +++ b/packages/bot/src/core/discord/client.ts @@ -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], diff --git a/packages/bot/src/core/discord/commandToURL.ts b/packages/bot/src/core/discord/commandToURL.ts index bad50d302..7ac12213d 100644 --- a/packages/bot/src/core/discord/commandToURL.ts +++ b/packages/bot/src/core/discord/commandToURL.ts @@ -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, parameters?: Parameters, ) { diff --git a/packages/bot/src/core/discord/embedInfo.ts b/packages/bot/src/core/discord/embedInfo.ts index 78cf9dd32..5359e3212 100644 --- a/packages/bot/src/core/discord/embedInfo.ts +++ b/packages/bot/src/core/discord/embedInfo.ts @@ -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); diff --git a/packages/bot/src/core/discord/embedNegative.ts b/packages/bot/src/core/discord/embedNegative.ts index ca2511631..1d520500a 100644 --- a/packages/bot/src/core/discord/embedNegative.ts +++ b/packages/bot/src/core/discord/embedNegative.ts @@ -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) diff --git a/packages/bot/src/core/discord/embedPositive.ts b/packages/bot/src/core/discord/embedPositive.ts index 45b2b99e1..5f157a851 100644 --- a/packages/bot/src/core/discord/embedPositive.ts +++ b/packages/bot/src/core/discord/embedPositive.ts @@ -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) diff --git a/packages/bot/src/core/discord/embedWarning.ts b/packages/bot/src/core/discord/embedWarning.ts index 26550232a..0cb912d9e 100644 --- a/packages/bot/src/core/discord/embedWarning.ts +++ b/packages/bot/src/core/discord/embedWarning.ts @@ -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) diff --git a/packages/bot/src/core/discord/getFiltersFromCommand.ts b/packages/bot/src/core/discord/getFiltersFromCommand.ts index f248f7163..ac15de9ff 100644 --- a/packages/bot/src/core/discord/getFiltersFromCommand.ts +++ b/packages/bot/src/core/discord/getFiltersFromCommand.ts @@ -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, diff --git a/packages/bot/src/core/discord/markdownTable.ts b/packages/bot/src/core/discord/markdownTable.ts index af2f3a475..6ad0b6f64 100644 --- a/packages/bot/src/core/discord/markdownTable.ts +++ b/packages/bot/src/core/discord/markdownTable.ts @@ -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]}`)) diff --git a/packages/bot/src/core/discord/normalizeInteractionReturnable.ts b/packages/bot/src/core/discord/normalizeInteractionReturnable.ts index 24b692086..999d2c34b 100644 --- a/packages/bot/src/core/discord/normalizeInteractionReturnable.ts +++ b/packages/bot/src/core/discord/normalizeInteractionReturnable.ts @@ -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][] = []; diff --git a/packages/bot/src/core/discord/resolveClanFromCommand.ts b/packages/bot/src/core/discord/resolveClanFromCommand.ts index 9c57150d8..84597f605 100644 --- a/packages/bot/src/core/discord/resolveClanFromCommand.ts +++ b/packages/bot/src/core/discord/resolveClanFromCommand.ts @@ -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); diff --git a/packages/bot/src/core/discord/resolvePeriodFromButton.ts b/packages/bot/src/core/discord/resolvePeriodFromButton.ts index caddb5527..3d2acce2e 100644 --- a/packages/bot/src/core/discord/resolvePeriodFromButton.ts +++ b/packages/bot/src/core/discord/resolvePeriodFromButton.ts @@ -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, ) { diff --git a/packages/bot/src/core/discord/resolvePeriodFromCommand.ts b/packages/bot/src/core/discord/resolvePeriodFromCommand.ts index bb721ce31..fc342fd31 100644 --- a/packages/bot/src/core/discord/resolvePeriodFromCommand.ts +++ b/packages/bot/src/core/discord/resolvePeriodFromCommand.ts @@ -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, forcedPeriod?: PeriodType, diff --git a/packages/bot/src/core/discord/resolvePlayerFromButton.ts b/packages/bot/src/core/discord/resolvePlayerFromButton.ts index 9e165e13b..01cf30ac3 100644 --- a/packages/bot/src/core/discord/resolvePlayerFromButton.ts +++ b/packages/bot/src/core/discord/resolvePlayerFromButton.ts @@ -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 { diff --git a/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts b/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts index c61a1a03f..363c5267a 100644 --- a/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts +++ b/packages/bot/src/core/discord/resolvePlayerFromCommand/index.ts @@ -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, ) { const { t, translate } = translator(interaction.locale); diff --git a/packages/bot/src/core/streams/wotbreplay.ts b/packages/bot/src/core/streams/wotbreplay.ts index 8cecebb5d..c62a18a11 100644 --- a/packages/bot/src/core/streams/wotbreplay.ts +++ b/packages/bot/src/core/streams/wotbreplay.ts @@ -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; diff --git a/packages/bot/src/events/interactionCreate/handlers/autocomplete.ts b/packages/bot/src/events/interactionCreate/handlers/autocomplete.ts index c688cd491..78b9f7afb 100644 --- a/packages/bot/src/events/interactionCreate/handlers/autocomplete.ts +++ b/packages/bot/src/events/interactionCreate/handlers/autocomplete.ts @@ -1,7 +1,7 @@ import { AutocompleteInteraction, CacheType } from 'discord.js'; import { commands } from '..'; -export default async function handleAutocomplete( +export async function handleAutocomplete( interaction: AutocompleteInteraction, ) { const command = (await commands)[interaction.commandName]; diff --git a/packages/bot/src/events/interactionCreate/handlers/button.tsx b/packages/bot/src/events/interactionCreate/handlers/button.tsx index 9a0be8196..9f455344d 100644 --- a/packages/bot/src/events/interactionCreate/handlers/button.tsx +++ b/packages/bot/src/events/interactionCreate/handlers/button.tsx @@ -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, -) { +export async function handleButton(interaction: ButtonInteraction) { await interaction.deferUpdate(); const url = new URL(`https://example.com/${interaction.customId}`); diff --git a/packages/bot/src/events/interactionCreate/handlers/chatInputCommand.ts b/packages/bot/src/events/interactionCreate/handlers/chatInputCommand.ts index 6a0ab7e55..5a78069c7 100644 --- a/packages/bot/src/events/interactionCreate/handlers/chatInputCommand.ts +++ b/packages/bot/src/events/interactionCreate/handlers/chatInputCommand.ts @@ -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, ) { const awaitedCommands = await commands; diff --git a/packages/bot/src/events/interactionCreate/index.ts b/packages/bot/src/events/interactionCreate/index.ts index 36ddb2147..e3f58c35a 100644 --- a/packages/bot/src/events/interactionCreate/index.ts +++ b/packages/bot/src/events/interactionCreate/index.ts @@ -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, -) { +export async function interactionCreate(interaction: Interaction) { if (interaction.isAutocomplete()) { handleAutocomplete(interaction); } else if (interaction.isChatInputCommand()) { diff --git a/packages/bot/src/events/ready.ts b/packages/bot/src/events/ready.ts index a6278013e..135767422 100644 --- a/packages/bot/src/events/ready.ts +++ b/packages/bot/src/events/ready.ts @@ -1,6 +1,6 @@ import { ActivityType, Client } from 'discord.js'; -export default function ready(client: Client) { +export function ready(client: Client) { console.log(`🟢 Launched bot ${client.shard?.ids[0] ?? 'default'}`); const activities: (() => string)[] = [ diff --git a/packages/bot/src/workers/render.ts b/packages/bot/src/workers/render.ts index 122e69ead..0950d7028 100644 --- a/packages/bot/src/workers/render.ts +++ b/packages/bot/src/workers/render.ts @@ -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}`); diff --git a/packages/bot/tsconfig.json b/packages/bot/tsconfig.json index 52d43eaaa..ef0d84919 100644 --- a/packages/bot/tsconfig.json +++ b/packages/bot/tsconfig.json @@ -1,4 +1,4 @@ { "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "include": ["src/**/*", "../core/src/blitz/getRatingInfo.ts"] } diff --git a/packages/website/src/core/blitz/fetchBlitz.ts b/packages/core/src/blitz/fetchBlitz.ts similarity index 90% rename from packages/website/src/core/blitz/fetchBlitz.ts rename to packages/core/src/blitz/fetchBlitz.ts index f8d9d11cb..3671c6903 100644 --- a/packages/website/src/core/blitz/fetchBlitz.ts +++ b/packages/core/src/blitz/fetchBlitz.ts @@ -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; -export default function fetchBlitz( +export function fetchBlitz( region: Region, path: string, params: FetchBlitzParams = {}, diff --git a/packages/website/src/core/blitz/getLeagueFromScore.ts b/packages/core/src/blitz/getLeagueFromScore.ts similarity index 100% rename from packages/website/src/core/blitz/getLeagueFromScore.ts rename to packages/core/src/blitz/getLeagueFromScore.ts diff --git a/packages/website/src/core/blitz/getRatingInfo.ts b/packages/core/src/blitz/getRatingInfo.ts similarity index 62% rename from packages/website/src/core/blitz/getRatingInfo.ts rename to packages/core/src/blitz/getRatingInfo.ts index 70469c664..c43e9c26d 100644 --- a/packages/website/src/core/blitz/getRatingInfo.ts +++ b/packages/core/src/blitz/getRatingInfo.ts @@ -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> = {}; -export default async function getRatingInfo(region: Region) { +export async function getRatingInfo(region: Region) { if (cache[region]) return cache[region]!; const response = await patientFetch( diff --git a/packages/core/src/blitz/index.ts b/packages/core/src/blitz/index.ts index cb31e160e..2f9e5b065 100644 --- a/packages/core/src/blitz/index.ts +++ b/packages/core/src/blitz/index.ts @@ -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'; diff --git a/packages/core/src/blitz/regionSubdomainToRegion.ts b/packages/core/src/blitz/regionSubdomainToRegion.ts new file mode 100644 index 000000000..2df097250 --- /dev/null +++ b/packages/core/src/blitz/regionSubdomainToRegion.ts @@ -0,0 +1,5 @@ +import { Region, RegionSubdomain } from '@blitzkit/core'; + +export function regionSubdomainToRegion(regionDomain: RegionSubdomain): Region { + return regionDomain === 'na' ? 'com' : regionDomain; +} diff --git a/packages/core/src/blitz/searchClansAcrossRegions.ts b/packages/core/src/blitz/searchClansAcrossRegions.ts index 41141db84..f0b868616 100644 --- a/packages/core/src/blitz/searchClansAcrossRegions.ts +++ b/packages/core/src/blitz/searchClansAcrossRegions.ts @@ -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); diff --git a/packages/website/src/core/blitz/searchPlayersAcrossRegions/constants.ts b/packages/core/src/blitz/searchPlayersAcrossRegions/constants.ts similarity index 100% rename from packages/website/src/core/blitz/searchPlayersAcrossRegions/constants.ts rename to packages/core/src/blitz/searchPlayersAcrossRegions/constants.ts diff --git a/packages/website/src/core/blitz/searchPlayersAcrossRegions/index.ts b/packages/core/src/blitz/searchPlayersAcrossRegions/index.ts similarity index 91% rename from packages/website/src/core/blitz/searchPlayersAcrossRegions/index.ts rename to packages/core/src/blitz/searchPlayersAcrossRegions/index.ts index b9a534f97..923f23a3b 100644 --- a/packages/website/src/core/blitz/searchPlayersAcrossRegions/index.ts +++ b/packages/core/src/blitz/searchPlayersAcrossRegions/index.ts @@ -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); diff --git a/packages/core/src/blitzkit/availableProvisions.ts b/packages/core/src/blitzkit/availableProvisions.ts index edd2c0ba6..bd97630f6 100644 --- a/packages/core/src/blitzkit/availableProvisions.ts +++ b/packages/core/src/blitzkit/availableProvisions.ts @@ -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'; diff --git a/packages/core/src/blitzkit/camouflageDefinitions.ts b/packages/core/src/blitzkit/camouflageDefinitions.ts index 88da12119..d341d9119 100644 --- a/packages/core/src/blitzkit/camouflageDefinitions.ts +++ b/packages/core/src/blitzkit/camouflageDefinitions.ts @@ -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, diff --git a/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts b/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts index 0e0bf217b..a0a41524e 100644 --- a/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts +++ b/packages/core/src/blitzkit/checkConsumableProvisionInclusivity.ts @@ -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( diff --git a/packages/core/src/blitzkit/createDefaultSkills.ts b/packages/core/src/blitzkit/createDefaultSkills.ts index 359b3af13..fa0256627 100644 --- a/packages/core/src/blitzkit/createDefaultSkills.ts +++ b/packages/core/src/blitzkit/createDefaultSkills.ts @@ -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) { diff --git a/packages/core/src/blitzkit/fetchCdonLz4.ts b/packages/core/src/blitzkit/fetchCdonLz4.ts index d0cdb44d4..eefa1c615 100644 --- a/packages/core/src/blitzkit/fetchCdonLz4.ts +++ b/packages/core/src/blitzkit/fetchCdonLz4.ts @@ -1,4 +1,4 @@ -import { superDecompress } from '@blitzkit/core/src/blitzkit/superDecompress'; +import { superDecompress } from '@blitzkit/core'; export async function fetchCdonLz4(url: string) { return await fetch(url, { cache: 'no-store' }) diff --git a/packages/website/src/core/blitzkit/getArchivedLatestSeasonNumber.ts b/packages/core/src/blitzkit/getArchivedLatestSeasonNumber.ts similarity index 95% rename from packages/website/src/core/blitzkit/getArchivedLatestSeasonNumber.ts rename to packages/core/src/blitzkit/getArchivedLatestSeasonNumber.ts index 3ede181bf..dcecba115 100644 --- a/packages/website/src/core/blitzkit/getArchivedLatestSeasonNumber.ts +++ b/packages/core/src/blitzkit/getArchivedLatestSeasonNumber.ts @@ -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 }[]; diff --git a/packages/website/src/core/blitzkit/getArchivedRatingInfo.ts b/packages/core/src/blitzkit/getArchivedRatingInfo.ts similarity index 68% rename from packages/website/src/core/blitzkit/getArchivedRatingInfo.ts rename to packages/core/src/blitzkit/getArchivedRatingInfo.ts index dc8afb6ef..6c752888a 100644 --- a/packages/website/src/core/blitzkit/getArchivedRatingInfo.ts +++ b/packages/core/src/blitzkit/getArchivedRatingInfo.ts @@ -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`), diff --git a/packages/website/src/core/blitzkit/getArchivedRatingLeaderboard.ts b/packages/core/src/blitzkit/getArchivedRatingLeaderboard.ts similarity index 100% rename from packages/website/src/core/blitzkit/getArchivedRatingLeaderboard.ts rename to packages/core/src/blitzkit/getArchivedRatingLeaderboard.ts diff --git a/packages/website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts b/packages/core/src/blitzkit/getArchivedRatingMidnightLeaderboard.ts similarity index 90% rename from packages/website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts rename to packages/core/src/blitzkit/getArchivedRatingMidnightLeaderboard.ts index 150d1b100..d40df8ea1 100644 --- a/packages/website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard.ts +++ b/packages/core/src/blitzkit/getArchivedRatingMidnightLeaderboard.ts @@ -11,7 +11,7 @@ const cache: Record> = { asia: {}, }; -export default async function getArchivedRatingMidnightLeaderboard( +export async function getArchivedRatingMidnightLeaderboard( region: Region, season: number, ) { diff --git a/packages/core/src/blitzkit/index.ts b/packages/core/src/blitzkit/index.ts index 66cef8692..6befef479 100644 --- a/packages/core/src/blitzkit/index.ts +++ b/packages/core/src/blitzkit/index.ts @@ -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'; diff --git a/packages/core/src/blitzkit/provisionDefinitions.ts b/packages/core/src/blitzkit/provisionDefinitions.ts index 4c101e332..6d879731a 100644 --- a/packages/core/src/blitzkit/provisionDefinitions.ts +++ b/packages/core/src/blitzkit/provisionDefinitions.ts @@ -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'; diff --git a/packages/core/src/blitzkit/reviews.ts b/packages/core/src/blitzkit/reviews.ts index 1fd7331cc..d50c2f1a2 100644 --- a/packages/core/src/blitzkit/reviews.ts +++ b/packages/core/src/blitzkit/reviews.ts @@ -1,4 +1,4 @@ -import { asset } from '@blitzkit/core/src/blitzkit/asset'; +import { asset } from '@blitzkit/core'; import { decodeProtobuf } from '../protobuf'; export interface Reviews { diff --git a/packages/core/src/blitzkit/skillDefinitions.ts b/packages/core/src/blitzkit/skillDefinitions.ts index 52454608f..73ae3c539 100644 --- a/packages/core/src/blitzkit/skillDefinitions.ts +++ b/packages/core/src/blitzkit/skillDefinitions.ts @@ -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'; import { TankClass } from './tankDefinitions'; export interface SkillDefinitions { diff --git a/packages/core/src/blitzkit/tankCharacteristics.ts b/packages/core/src/blitzkit/tankCharacteristics.ts index d2395eaa3..f1de702ab 100644 --- a/packages/core/src/blitzkit/tankCharacteristics.ts +++ b/packages/core/src/blitzkit/tankCharacteristics.ts @@ -1,6 +1,8 @@ -import { EquipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; -import { ModelDefinition } from '@blitzkit/core/src/blitzkit/modelDefinitions'; -import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { + EquipmentDefinitions, + ModelDefinition, + ProvisionDefinitions, +} from '@blitzkit/core'; import { EquipmentMatrix } from '../../../website/src/stores/duel'; import { resolveNearPenetration } from '../blitz/resolveNearPenetration'; import { coefficient } from './coefficient'; @@ -238,10 +240,10 @@ export function tankCharacteristics( tank.class === 'heavyTank' ? 0.06 : tank.class === 'mediumTank' - ? 0.08 - : tank.class === 'lightTank' - ? 0.11 - : 0.04, + ? 0.08 + : tank.class === 'lightTank' + ? 0.11 + : 0.04, ]) * coefficient([true, progressiveStat(commanderMastery)]); const fireChanceCoefficient = coefficient([hasProtectiveKit, -0.2]); @@ -263,8 +265,8 @@ export function tankCharacteristics( tank.class === 'AT-SPG' ? 0.04 : tank.class === 'heavyTank' - ? 0.03 - : 0.02, + ? 0.03 + : 0.02, ]), ], [ @@ -272,10 +274,10 @@ export function tankCharacteristics( tank.class === 'heavyTank' ? 0.02 : tank.class === 'mediumTank' - ? 0.04 - : tank.class === 'lightTank' - ? 0.07 - : 0.1, + ? 0.04 + : tank.class === 'lightTank' + ? 0.07 + : 0.1, ], ); const camouflageCoefficientStill = sum( @@ -287,8 +289,8 @@ export function tankCharacteristics( tank.class === 'AT-SPG' ? 0.04 : tank.class === 'heavyTank' - ? 0.03 - : 0.02, + ? 0.03 + : 0.02, ], [true, crewSkills.camouflage * (3 / 100)], ), @@ -298,10 +300,10 @@ export function tankCharacteristics( tank.class === 'heavyTank' ? 0.04 : tank.class === 'mediumTank' - ? 0.08 - : tank.class === 'lightTank' - ? 0.14 - : 0.2, + ? 0.08 + : tank.class === 'lightTank' + ? 0.14 + : 0.2, ], ); diff --git a/packages/core/src/blitzkit/tankIcon.ts b/packages/core/src/blitzkit/tankIcon.ts index a20d23d9b..1a2c0d5e9 100644 --- a/packages/core/src/blitzkit/tankIcon.ts +++ b/packages/core/src/blitzkit/tankIcon.ts @@ -1,4 +1,4 @@ -import { asset } from '@blitzkit/core/src/blitzkit/asset'; +import { asset } from '@blitzkit/core'; export function tankIcon(id: number, size: 'big' | 'small' = 'big') { return asset(`icons/tanks/${size}/${id}.webp`); diff --git a/packages/core/src/blitzkit/unionBoundingBox.ts b/packages/core/src/blitzkit/unionBoundingBox.ts index a34fad5b7..9ff7e83d4 100644 --- a/packages/core/src/blitzkit/unionBoundingBox.ts +++ b/packages/core/src/blitzkit/unionBoundingBox.ts @@ -1,4 +1,4 @@ -import { BoundingBox } from '@blitzkit/core/src/blitzkit/modelDefinitions'; +import { BoundingBox } from '@blitzkit/core'; import { Vector3Tuple } from 'three'; export function unionBoundingBox(a: BoundingBox, b: BoundingBox) { diff --git a/packages/core/src/math/isNumber.ts b/packages/core/src/math/isNumber.ts index 3ad11be0a..a6b5e2816 100644 --- a/packages/core/src/math/isNumber.ts +++ b/packages/core/src/math/isNumber.ts @@ -1,3 +1,3 @@ -export default function isNumber(value: any) { +export function isNumber(value: any) { return typeof value === 'number' && isFinite(value); } diff --git a/packages/core/src/math/numberToRomanNumeral.ts b/packages/core/src/math/numberToRomanNumeral.ts index e71b20ab8..b31082359 100644 --- a/packages/core/src/math/numberToRomanNumeral.ts +++ b/packages/core/src/math/numberToRomanNumeral.ts @@ -19,7 +19,7 @@ const ROMAN = { }; const ROMAN_KEYS = Object.keys(ROMAN) as (keyof typeof ROMAN)[]; -export default function numberToRomanNumeral(value: number) { +export function numberToRomanNumeral(value: number) { let string = ''; ROMAN_KEYS.forEach((index) => { diff --git a/packages/core/src/statistics/calculateWN8.ts b/packages/core/src/statistics/calculateWN8.ts index 235ef7b04..846ec5d03 100644 --- a/packages/core/src/statistics/calculateWN8.ts +++ b/packages/core/src/statistics/calculateWN8.ts @@ -6,7 +6,7 @@ import { BlitzStats } from './compositeStats/constants'; * @param expected what all players on average perform like * @param average what the player in question performs like */ -export default function calculateWN8( +export function calculateWN8( expected: BlitzStats, average: { damage_dealt: number; diff --git a/packages/core/src/statistics/compositeStats/index.ts b/packages/core/src/statistics/compositeStats/index.ts index acb13f8fb..a6b92e69d 100644 --- a/packages/core/src/statistics/compositeStats/index.ts +++ b/packages/core/src/statistics/compositeStats/index.ts @@ -1,4 +1,4 @@ -import calculateWN8 from '../calculateWN8'; +import { calculateWN8 } from '../calculateWN8'; import { BlitzkitStats, CompositeStats, diff --git a/packages/core/src/statistics/filterStats.ts b/packages/core/src/statistics/filterStats.ts index 9ca660e26..27632a522 100644 --- a/packages/core/src/statistics/filterStats.ts +++ b/packages/core/src/statistics/filterStats.ts @@ -1,9 +1,9 @@ import { SupplementaryStats } from '../../../website/src/core/blitz/getAccountInfo'; import { tankDefinitions, TreeType } from '../blitzkit/tankDefinitions'; import { blitzStarsTankAverages } from '../blitzstars/tankAverages'; -import calculateWN8 from './calculateWN8'; +import { calculateWN8 } from './calculateWN8'; import { BlitzStats } from './compositeStats'; -import sumStats from './sumStats'; +import { sumStats } from './sumStats'; export interface StatFilters { nation?: string; diff --git a/packages/core/src/statistics/getBkniPercentile.ts b/packages/core/src/statistics/getBkniPercentile.ts index 57c129059..7579e0687 100644 --- a/packages/core/src/statistics/getBkniPercentile.ts +++ b/packages/core/src/statistics/getBkniPercentile.ts @@ -40,7 +40,7 @@ export const BKNI_COLORS = { [BkniPercentile.SuperUnicum]: 'purple', } as const; -export default function getBkniPercentile(wn8: number) { +export function getBkniPercentile(wn8: number) { const lastIndex = BKNI_PERCENTILES.findLastIndex(({ min }) => min <= wn8); return BKNI_PERCENTILES[lastIndex === -1 ? 0 : lastIndex].percentile; } diff --git a/packages/core/src/statistics/getWN8Percentile.ts b/packages/core/src/statistics/getWN8Percentile.ts index 1fbfa91fc..55be47f07 100644 --- a/packages/core/src/statistics/getWN8Percentile.ts +++ b/packages/core/src/statistics/getWN8Percentile.ts @@ -13,7 +13,7 @@ const WN8_PERCENTILES: [number, Percentile][] = [ [2900, Percentile.SuperUnicum], ]; -export default function getWN8Percentile(WN8: number) { +export function getWN8Percentile(WN8: number) { const lastIndex = WN8_PERCENTILES.findLastIndex( ([WN8Listing]) => WN8Listing <= WN8, ); diff --git a/packages/core/src/statistics/sumStats.ts b/packages/core/src/statistics/sumStats.ts index 45ef1b62a..2439d682b 100644 --- a/packages/core/src/statistics/sumStats.ts +++ b/packages/core/src/statistics/sumStats.ts @@ -1,7 +1,7 @@ import { emptyAllStats } from '..'; import { BlitzStats } from './compositeStats/constants'; -export default function sumStats(allStatsCollection: BlitzStats[]) { +export function sumStats(allStatsCollection: BlitzStats[]) { return allStatsCollection.reduce((accumulated, current) => { function sum(value: (allStats: BlitzStats) => number) { return value(accumulated) + value(current); diff --git a/packages/scripts/src/averages.ts b/packages/scripts/src/averages.ts index 56a86ab6a..8d68d3caf 100644 --- a/packages/scripts/src/averages.ts +++ b/packages/scripts/src/averages.ts @@ -14,7 +14,6 @@ import { } from '@blitzkit/core'; import { chunk, times } from 'lodash'; import { getAccountInfo } from '../../website/src/core/blitz/getAccountInfo'; -import getTankStats from '../../website/src/core/blitz/getTankStats'; import { commitAssets } from './core/github/commitAssets'; import { fetchPreDiscoveredIds } from './core/github/fetchPreDiscoveredIds'; diff --git a/packages/scripts/src/buildAssets/definitions.ts b/packages/scripts/src/buildAssets/definitions.ts index 4b689e172..ee0d45295 100644 --- a/packages/scripts/src/buildAssets/definitions.ts +++ b/packages/scripts/src/buildAssets/definitions.ts @@ -15,6 +15,7 @@ import { ProvisionDefinitions, ProvisionEntry, ShellType, + SkillDefinitions, superCompress, TankClass, TankDefinitions, @@ -23,7 +24,6 @@ import { Tier, Unlock, } from '@blitzkit/core'; -import { SkillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; import { readdir } from 'fs/promises'; import { parse as parsePath } from 'path'; import { Vector3Tuple } from 'three'; @@ -820,8 +820,8 @@ export async function definitions() { treeType: tankTags.includes('collectible') ? 'collector' : (typeof tank.price === 'number' ? false : 'gold' in tank.price) - ? 'premium' - : 'researchable', + ? 'premium' + : 'researchable', tier: tank.level as Tier, class: tankTags[0] as TankClass, testing: tankTags.includes('testTank'), @@ -1116,8 +1116,8 @@ export async function definitions() { gun.armor.gun === undefined ? 0 : typeof gun.armor.gun === 'number' - ? gun.armor.gun - : gun.armor.gun['#text'], + ? gun.armor.gun + : gun.armor.gun['#text'], pitch: { min: gunPitch[0], max: gunPitch[1], @@ -1167,7 +1167,7 @@ export async function definitions() { type: blitzShellKindToBlitzkit[shell.kind], explosionRadius: shell.kind === 'HIGH_EXPLOSIVE' - ? shell.explosionRadius ?? 0 + ? (shell.explosionRadius ?? 0) : undefined, icon: shell.icon, penetration: diff --git a/packages/scripts/src/buildRatingLeaderboard.ts b/packages/scripts/src/buildRatingLeaderboard.ts index 6c0c4f589..ae545a4a1 100644 --- a/packages/scripts/src/buildRatingLeaderboard.ts +++ b/packages/scripts/src/buildRatingLeaderboard.ts @@ -7,14 +7,13 @@ import { CdonWriteStream, RatingInfo, RatingNeighbors, + RatingPlayer, RegionSubdomain, superCompress, } from '@blitzkit/core'; -import { RatingPlayer } from '@blitzkit/core/src/statistics/deltaBkrlBlitzStats'; import { chunk } from 'lodash'; import { argv } from 'process'; import { getAccountInfo } from '../../website/src/core/blitz/getAccountInfo'; -import regionSubdomainToRegion from '../../website/src/core/blitz/regionSubdomainToRegion'; import { patientFetchJSON } from '../../website/src/core/blitzkit/patientFetchJSON'; import { commitAssets } from './core/github/commitAssets'; import { FileChange } from './core/github/commitMultipleFiles'; diff --git a/packages/scripts/src/core/github/commitMultipleFiles.ts b/packages/scripts/src/core/github/commitMultipleFiles.ts index a5087a3df..e7dc1739c 100644 --- a/packages/scripts/src/core/github/commitMultipleFiles.ts +++ b/packages/scripts/src/core/github/commitMultipleFiles.ts @@ -11,7 +11,7 @@ export interface FileChange { encoding: 'utf-8' | 'base64'; } -export default async function commitMultipleFiles( +export async function commitMultipleFiles( owner: string, repo: string, branch: string, diff --git a/packages/scripts/src/discoverIds.ts b/packages/scripts/src/discoverIds.ts index d2516a51f..6a96dfa71 100644 --- a/packages/scripts/src/discoverIds.ts +++ b/packages/scripts/src/discoverIds.ts @@ -7,9 +7,9 @@ import { asset, idToRegion, } from '@blitzkit/core'; +import { retryAbleBlitzFetchEvent } from '@blitzkit/core/src/blitz/fetchBlitz'; import { chunk, times, uniq } from 'lodash'; import { compress, decompress } from 'lz4js'; -import { retryAbleBlitzFetchEvent } from '../../website/src/core/blitz/fetchBlitz'; import { getAccountInfo } from '../../website/src/core/blitz/getAccountInfo'; import { DiscoveredIdsDefinitions } from '../../website/src/core/blitzkit/discoveredIdDefinitions'; import { commitAssets } from './core/github/commitAssets'; diff --git a/packages/website/src/app/auth/[provider]/page.tsx b/packages/website/src/app/auth/[provider]/page.tsx index 9216c5e2e..68403ede2 100644 --- a/packages/website/src/app/auth/[provider]/page.tsx +++ b/packages/website/src/app/auth/[provider]/page.tsx @@ -3,7 +3,7 @@ import { Flex, Heading, Text } from '@radix-ui/themes'; import { useRouter } from 'next/navigation'; import { useEffect } from 'react'; -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; import * as App from '../../../stores/app'; export const PROVIDERS = ['wargaming', 'patreon']; diff --git a/packages/website/src/app/docs/patches/page.tsx b/packages/website/src/app/docs/patches/page.tsx index 60181877b..72f74d6fe 100644 --- a/packages/website/src/app/docs/patches/page.tsx +++ b/packages/website/src/app/docs/patches/page.tsx @@ -2,7 +2,7 @@ import { Flex, Heading } from '@radix-ui/themes'; import { compareVersions } from 'compare-versions'; import versions from '../../../../public/assets/versions.json'; import { Link } from '../../../components/Link'; -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; export default async function Page() { return ( diff --git a/packages/website/src/app/tools/compare/components/CompareTable.tsx b/packages/website/src/app/tools/compare/components/CompareTable.tsx index 6a8d41739..ecc5b9148 100644 --- a/packages/website/src/app/tools/compare/components/CompareTable.tsx +++ b/packages/website/src/app/tools/compare/components/CompareTable.tsx @@ -6,10 +6,10 @@ import { checkConsumableProvisionInclusivity, consumableDefinitions, equipmentDefinitions, + permanentSkills, provisionDefinitions, skillDefinitions, } from '@blitzkit/core'; -import { permanentSkills } from '@blitzkit/core/src/blitz/permanentSkills'; import { ComponentPlaceholderIcon } from '@radix-ui/react-icons'; import { Button, Flex, Popover, Slider, Table, Text } from '@radix-ui/themes'; import { debounce, times } from 'lodash'; diff --git a/packages/website/src/app/tools/compare/page.tsx b/packages/website/src/app/tools/compare/page.tsx index 9491e2896..3f84addc5 100644 --- a/packages/website/src/app/tools/compare/page.tsx +++ b/packages/website/src/app/tools/compare/page.tsx @@ -13,7 +13,7 @@ import { PlusIcon } from '@radix-ui/react-icons'; import { Box, Flex, Heading, IconButton, Text } from '@radix-ui/themes'; import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { use, useCallback, useEffect, useMemo, useState } from 'react'; -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; import { tankToCompareMember } from '../../../core/blitzkit/tankToCompareMember'; import * as CompareEphemeral from '../../../stores/compareEphemeral'; import { CompareTable } from './components/CompareTable'; diff --git a/packages/website/src/app/tools/embed/[embed]/page.tsx b/packages/website/src/app/tools/embed/[embed]/page.tsx index 83cd6c631..fcdca3d5f 100644 --- a/packages/website/src/app/tools/embed/[embed]/page.tsx +++ b/packages/website/src/app/tools/embed/[embed]/page.tsx @@ -15,7 +15,7 @@ import { capitalize, startCase } from 'lodash'; import { ReactNode, useEffect, useRef, useState } from 'react'; import { stringify } from 'urlon'; import { CopyButton } from '../../../../components/CopyButton'; -import PageWrapper from '../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../components/PageWrapper'; import * as App from '../../../../stores/app'; import * as EmbedState from '../../../../stores/embedState'; import { EmbedConfig } from '../../../../stores/embedState'; diff --git a/packages/website/src/app/tools/embed/page.tsx b/packages/website/src/app/tools/embed/page.tsx index 936746123..86f5ec8c5 100644 --- a/packages/website/src/app/tools/embed/page.tsx +++ b/packages/website/src/app/tools/embed/page.tsx @@ -1,5 +1,5 @@ -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; -export default function Page() { +export function Page() { return ; } diff --git a/packages/website/src/app/tools/layout.tsx b/packages/website/src/app/tools/layout.tsx index 0cd473980..3f96570f9 100644 --- a/packages/website/src/app/tools/layout.tsx +++ b/packages/website/src/app/tools/layout.tsx @@ -6,11 +6,7 @@ import { usePathname } from 'next/navigation'; import { ReactNode } from 'react'; import { TOOLS } from '../../constants/tools'; -interface ToolsLayoutProps { - children: ReactNode; -} - -export default function ToolsLayout({ children }: ToolsLayoutProps) { +export default function Layout({ children }: { children: ReactNode }) { const pathname = usePathname(); const pathSplit = pathname.split('/'); const toolId = pathSplit.at(2); diff --git a/packages/website/src/app/tools/performance/page.tsx b/packages/website/src/app/tools/performance/page.tsx index 0a7538698..6f8dd4aaf 100644 --- a/packages/website/src/app/tools/performance/page.tsx +++ b/packages/website/src/app/tools/performance/page.tsx @@ -1,4 +1,4 @@ -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; import { Controls } from './components/Controls'; import { Info } from './components/Info'; import { TankTable } from './components/Table'; diff --git a/packages/website/src/app/tools/rating/page.tsx b/packages/website/src/app/tools/rating/page.tsx index 5f9eda585..6120bfa8a 100644 --- a/packages/website/src/app/tools/rating/page.tsx +++ b/packages/website/src/app/tools/rating/page.tsx @@ -4,12 +4,17 @@ import { FIRST_MINIMAL_ARCHIVED_RATING_SEASON, LEAGUES, RatingInfo, + RatingPlayer, Region, REGIONS, UNLOCALIZED_REGION_NAMES, Var, } from '@blitzkit/core'; -import { RatingPlayer } from '@blitzkit/core/src/statistics/deltaBkrlBlitzStats'; +import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz'; +import { getArchivedLatestSeasonNumber } from '@blitzkit/core/src/blitz/getArchivedLatestSeasonNumber'; +import { getRatingInfo } from '@blitzkit/core/src/blitz/getRatingInfo'; +import { getArchivedRatingInfo } from '@blitzkit/core/src/blitzkit/getArchivedRatingInfo'; +import { getArchivedRatingLeaderboard } from '@blitzkit/core/src/blitzkit/getArchivedRatingLeaderboard'; import { blackA, orangeDark } from '@radix-ui/colors'; import { MagnifyingGlassIcon } from '@radix-ui/react-icons'; import { @@ -17,6 +22,7 @@ import { Dialog, Flex, Select, + Skeleton, Table, Text, TextField, @@ -25,11 +31,8 @@ import { produce } from 'immer'; import { debounce, range } from 'lodash'; import { ChangeEvent, useEffect, useRef, useState } from 'react'; import { create } from 'zustand'; -import PageWrapper from '../../../components/PageWrapper'; -import { Skeleton } from '../../../components/Skeleton'; -import fetchBlitz from '../../../core/blitz/fetchBlitz'; +import { PageWrapper } from '../../../components/PageWrapper'; import { getClanAccountInfo } from '../../../core/blitz/getClanAccountInfo'; -import getRatingInfo from '../../../core/blitz/getRatingInfo'; import { getRatingLeague } from '../../../core/blitz/getRatingLeague'; import { getRatingNeighbors } from '../../../core/blitz/getRatingNeighbors'; import { searchCurrentRatingPlayers } from '../../../core/blitz/searchCurrentRatingPlayers'; @@ -37,9 +40,6 @@ import { AccountList, AccountListItem, } from '../../../core/blitz/searchPlayersAcrossRegions'; -import { getArchivedLatestSeasonNumber } from '../../../core/blitzkit/getArchivedLatestSeasonNumber'; -import getArchivedRatingInfo from '../../../core/blitzkit/getArchivedRatingInfo'; -import { getArchivedRatingLeaderboard } from '../../../core/blitzkit/getArchivedRatingLeaderboard'; import { PageTurner } from './components/PageTurner'; const ROWS_PER_PAGE = Math.floor(100 / 3); diff --git a/packages/website/src/app/tools/session/page.tsx b/packages/website/src/app/tools/session/page.tsx index 804d3a987..b393f7c93 100644 --- a/packages/website/src/app/tools/session/page.tsx +++ b/packages/website/src/app/tools/session/page.tsx @@ -3,11 +3,11 @@ import { IndividualTankStats, UNLOCALIZED_REGION_NAMES_SHORT, + blitzStarsTankAverages, deltaTankStats, idToRegion, tankDefinitions, } from '@blitzkit/core'; -import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages'; import { ArrowDownIcon, MagnifyingGlassIcon, @@ -28,7 +28,7 @@ import { } from '@radix-ui/themes'; import { debounce } from 'lodash'; import { use, useEffect, useMemo, useRef, useState } from 'react'; -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; import { TankRowHeaderCell } from '../../../components/TankRowHeaderCell'; import { STAT_KEYS, @@ -42,9 +42,10 @@ import { IndividualAccountInfo, getAccountInfo, } from '../../../core/blitz/getAccountInfo'; -import getTankStats from '../../../core/blitz/getTankStats'; -import searchPlayersAcrossRegions, { +import { getTankStats } from '../../../core/blitz/getTankStats'; +import { AccountListWithServer, + searchPlayersAcrossRegions, } from '../../../core/blitz/searchPlayersAcrossRegions'; import * as Session from '../../../stores/session'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Content.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Content.tsx index fa5534f76..264c102c2 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Content.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Content.tsx @@ -5,7 +5,7 @@ import strings from '@blitzkit/core/lang/en-US.json'; import { invalidate } from '@react-three/fiber'; import { useEffect } from 'react'; import { AdMidSectionResponsive } from '../../../../../components/AdMidSectionResponsive'; -import PageWrapper from '../../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../../components/PageWrapper'; import { useAdExempt } from '../../../../../hooks/useAdExempt'; import * as Duel from '../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/HistorySection.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/HistorySection.tsx index c37b9c2f1..eabc806bf 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/HistorySection.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/HistorySection.tsx @@ -1,5 +1,5 @@ import { Heading, Text } from '@radix-ui/themes'; -import PageWrapper from '../../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../../components/PageWrapper'; import * as Duel from '../../../../../stores/duel'; export function HistorySection() { diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx index a69d9b3f6..b0f887d30 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx @@ -17,7 +17,7 @@ import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawL import { modelTransformEvent } from '../../../../../../core/blitzkit/modelTransform'; import { Pose, poseEvent } from '../../../../../../core/blitzkit/pose'; import { useEquipment } from '../../../../../../hooks/useEquipment'; -import useOnScreen from '../../../../../../hooks/useOnScreen'; +import { useOnScreen } from '../../../../../../hooks/useOnScreen'; import { useTankModelDefinition } from '../../../../../../hooks/useTankModelDefinition'; import * as Duel from '../../../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/TankopediaSeparator.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/TankopediaSeparator.tsx index 6d526fa78..4cbb8a161 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/TankopediaSeparator.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/TankopediaSeparator.tsx @@ -1,5 +1,5 @@ import { Separator } from '@radix-ui/themes'; -import PageWrapper from '../../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../../components/PageWrapper'; export function TankopediaSeparator() { return ( diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/Title.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/Title.tsx index fe64211bf..0172c991b 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/Title.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/Title.tsx @@ -1,5 +1,4 @@ -import { provisionDefinitions } from '@blitzkit/core'; -import { TREE_TYPE_ICONS } from '@blitzkit/core/src/blitzkit/tankDefinitions/constants'; +import { provisionDefinitions, TREE_TYPE_ICONS } from '@blitzkit/core'; import { CaretRightIcon, UpdateIcon } from '@radix-ui/react-icons'; import { Button, Dialog, Flex, Heading } from '@radix-ui/themes'; import Link from 'next/link'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx b/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx index c915e7d6f..3fcef0253 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/components/VideoSection.tsx @@ -2,7 +2,7 @@ import { reviews, Var, youtubers } from '@blitzkit/core'; import { Box, Flex, Heading, Text } from '@radix-ui/themes'; import { use } from 'react'; import { Link } from '../../../../../components/Link'; -import PageWrapper from '../../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../../components/PageWrapper'; import { VerifiedIcon } from '../../../../../components/VerifiedIcon'; import * as Duel from '../../../../../stores/duel'; diff --git a/packages/website/src/app/tools/tankopedia/[id]/page.tsx b/packages/website/src/app/tools/tankopedia/[id]/page.tsx index 882f6403f..5793a5ee3 100644 --- a/packages/website/src/app/tools/tankopedia/[id]/page.tsx +++ b/packages/website/src/app/tools/tankopedia/[id]/page.tsx @@ -5,7 +5,7 @@ import strings from '@blitzkit/core/lang/en-US.json'; import { invalidate } from '@react-three/fiber'; import { useEffect } from 'react'; import { AdMidSectionResponsive } from '../../../../components/AdMidSectionResponsive'; -import PageWrapper from '../../../../components/PageWrapper'; +import { PageWrapper } from '../../../../components/PageWrapper'; import { useAdExempt } from '../../../../hooks/useAdExempt'; import * as Duel from '../../../../stores/duel'; import * as TankopediaEphemeral from '../../../../stores/tankopediaEphemeral'; diff --git a/packages/website/src/app/tools/tankopedia/page.tsx b/packages/website/src/app/tools/tankopedia/page.tsx index 72190e2c5..21200f5eb 100644 --- a/packages/website/src/app/tools/tankopedia/page.tsx +++ b/packages/website/src/app/tools/tankopedia/page.tsx @@ -1,10 +1,10 @@ -import PageWrapper from '../../../components/PageWrapper'; +import { PageWrapper } from '../../../components/PageWrapper'; import { TankSearch } from './components/TankSearch'; export default function Page() { return ( - - - + + + ); } diff --git a/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx index 0ffcbb1d6..3369e2aad 100644 --- a/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx +++ b/packages/website/src/components/Armor/components/PrimaryArmorSceneComponent/index.tsx @@ -1,6 +1,9 @@ -import { ShellDefinition, resolveNearPenetration } from '@blitzkit/core'; -import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; -import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; +import { + ShellDefinition, + isExplosive, + resolveNearPenetration, + resolvePenetrationCoefficient, +} from '@blitzkit/core'; import { useFrame } from '@react-three/fiber'; import { useEffect } from 'react'; import { MeshBasicMaterial, Object3D, ShaderMaterial, Vector2 } from 'three'; diff --git a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx index b233118c5..a489e8002 100644 --- a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubExternal/index.tsx @@ -1,5 +1,8 @@ -import { ShellDefinition, resolveNearPenetration } from '@blitzkit/core'; -import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; +import { + ShellDefinition, + resolveNearPenetration, + resolvePenetrationCoefficient, +} from '@blitzkit/core'; import { useEffect } from 'react'; import { AdditiveBlending, diff --git a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx index a95694609..b61204754 100644 --- a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/index.tsx @@ -1,6 +1,9 @@ -import { ShellDefinition, resolveNearPenetration } from '@blitzkit/core'; -import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; -import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; +import { + ShellDefinition, + isExplosive, + resolveNearPenetration, + resolvePenetrationCoefficient, +} from '@blitzkit/core'; import { useEffect } from 'react'; import { AdditiveBlending, diff --git a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx index d1a917525..33aeaa185 100644 --- a/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx +++ b/packages/website/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx @@ -1,6 +1,9 @@ -import { ShellType, resolveNearPenetration } from '@blitzkit/core'; -import { isExplosive } from '@blitzkit/core/src/blitzkit/isExplosive'; -import { resolvePenetrationCoefficient } from '@blitzkit/core/src/blitzkit/resolvePenetrationCoefficient'; +import { + ShellType, + isExplosive, + resolveNearPenetration, + resolvePenetrationCoefficient, +} from '@blitzkit/core'; import { useThree } from '@react-three/fiber'; import { useCallback } from 'react'; import { @@ -189,8 +192,8 @@ export function SpacedArmorSceneComponent({ shell.type === ShellType.HE ? 'blocked' : blocked - ? 'blocked' - : 'penetration', + ? 'blocked' + : 'penetration', variant: layer.variant, }); } else { @@ -240,8 +243,8 @@ export function SpacedArmorSceneComponent({ shell.type === ShellType.HE && layer.type !== ArmorType.Primary ? 'blocked' : blocked - ? 'blocked' - : 'penetration', + ? 'blocked' + : 'penetration', angle, }); } diff --git a/packages/website/src/components/Armor/components/StaticArmor.tsx b/packages/website/src/components/Armor/components/StaticArmor.tsx index 3a02caead..92b1a3566 100644 --- a/packages/website/src/components/Armor/components/StaticArmor.tsx +++ b/packages/website/src/components/Armor/components/StaticArmor.tsx @@ -1,4 +1,4 @@ -import { normalizeAngleRad } from '@blitzkit/core/src/math/normalizeAngleRad'; +import { normalizeAngleRad } from '@blitzkit/core'; import { ThreeEvent, useThree } from '@react-three/fiber'; import { memo, useRef } from 'react'; import { Group, Plane, Vector2, Vector3 } from 'three'; diff --git a/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx b/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx index 15b0108d0..d6c3ddb1d 100644 --- a/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx +++ b/packages/website/src/components/Armor/components/StaticArmorSceneComponent.tsx @@ -1,4 +1,4 @@ -import { I_HAT, J_HAT } from '@blitzkit/core/src/math/axis'; +import { I_HAT, J_HAT } from '@blitzkit/core'; import { MeshProps, useThree } from '@react-three/fiber'; import { clamp } from 'lodash'; import { useEffect, useMemo } from 'react'; diff --git a/packages/website/src/components/ConsumablesManager.tsx b/packages/website/src/components/ConsumablesManager.tsx index f71251d4e..1ed88ae70 100644 --- a/packages/website/src/components/ConsumablesManager.tsx +++ b/packages/website/src/components/ConsumablesManager.tsx @@ -1,4 +1,4 @@ -import { ConsumableEntry } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; +import { ConsumableEntry } from '@blitzkit/core'; import { Flex, FlexProps } from '@radix-ui/themes'; import { ConsumableButton } from './ModuleButtons/ConsumableButton'; diff --git a/packages/website/src/components/CrewSkillManager.tsx b/packages/website/src/components/CrewSkillManager.tsx index 5f4fa8ce0..ee91e3b44 100644 --- a/packages/website/src/components/CrewSkillManager.tsx +++ b/packages/website/src/components/CrewSkillManager.tsx @@ -1,6 +1,10 @@ -import { asset, Tier, TIER_ROMAN_NUMERALS } from '@blitzkit/core'; -import { permanentSkills } from '@blitzkit/core/src/blitz/permanentSkills'; -import { skillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; +import { + asset, + permanentSkills, + skillDefinitions, + Tier, + TIER_ROMAN_NUMERALS, +} from '@blitzkit/core'; import { Flex } from '@radix-ui/themes'; import { use } from 'react'; import { GenericTankComponentButton } from './ModuleButtons/GenericTankComponentButton'; diff --git a/packages/website/src/components/EquipmentManager.tsx b/packages/website/src/components/EquipmentManager.tsx index efbcaf2d3..9503dc55a 100644 --- a/packages/website/src/components/EquipmentManager.tsx +++ b/packages/website/src/components/EquipmentManager.tsx @@ -1,4 +1,4 @@ -import { EquipmentPreset } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; +import { EquipmentPreset } from '@blitzkit/core'; import { Flex } from '@radix-ui/themes'; import { cloneDeep } from 'lodash'; import { EquipmentMatrix } from '../stores/duel'; diff --git a/packages/website/src/components/ModuleButtons/ConsumableButton.tsx b/packages/website/src/components/ModuleButtons/ConsumableButton.tsx index 2eb336ec1..af21d5fb7 100644 --- a/packages/website/src/components/ModuleButtons/ConsumableButton.tsx +++ b/packages/website/src/components/ModuleButtons/ConsumableButton.tsx @@ -1,5 +1,4 @@ -import { asset } from '@blitzkit/core'; -import { consumableDefinitions } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; +import { asset, consumableDefinitions } from '@blitzkit/core'; import { ClockIcon, ReloadIcon } from '@radix-ui/react-icons'; import { Flex, Text } from '@radix-ui/themes'; import { use } from 'react'; @@ -39,8 +38,8 @@ export function ConsumableButton({ durationDelta > 0 ? 'green' : durationDelta < 0 - ? 'tomato' - : undefined + ? 'tomato' + : undefined } > @@ -56,8 +55,8 @@ export function ConsumableButton({ cooldownDelta < 0 ? 'green' : cooldownDelta > 0 - ? 'tomato' - : undefined + ? 'tomato' + : undefined } > diff --git a/packages/website/src/components/ModuleButtons/EquipmentButton.tsx b/packages/website/src/components/ModuleButtons/EquipmentButton.tsx index b63309f57..d722a1bc1 100644 --- a/packages/website/src/components/ModuleButtons/EquipmentButton.tsx +++ b/packages/website/src/components/ModuleButtons/EquipmentButton.tsx @@ -1,5 +1,4 @@ -import { asset } from '@blitzkit/core'; -import { equipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; +import { asset, equipmentDefinitions } from '@blitzkit/core'; import { use } from 'react'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; diff --git a/packages/website/src/components/ModuleButtons/ProvisionButton.tsx b/packages/website/src/components/ModuleButtons/ProvisionButton.tsx index 8af02ede9..97adede7a 100644 --- a/packages/website/src/components/ModuleButtons/ProvisionButton.tsx +++ b/packages/website/src/components/ModuleButtons/ProvisionButton.tsx @@ -1,5 +1,4 @@ -import { asset } from '@blitzkit/core'; -import { provisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { asset, provisionDefinitions } from '@blitzkit/core'; import { use } from 'react'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; diff --git a/packages/website/src/components/ModuleButtons/ShellButton.tsx b/packages/website/src/components/ModuleButtons/ShellButton.tsx index 387c0bd90..1736eca00 100644 --- a/packages/website/src/components/ModuleButtons/ShellButton.tsx +++ b/packages/website/src/components/ModuleButtons/ShellButton.tsx @@ -1,4 +1,4 @@ -import { asset } from '@blitzkit/core/src/blitzkit/asset'; +import { asset } from '@blitzkit/core'; import { GenericTankComponentButton } from './GenericTankComponentButton'; import { TankComponentButtonProps } from './TankComponentButton'; diff --git a/packages/website/src/components/Navbar/index.tsx b/packages/website/src/components/Navbar/index.tsx index 65ae6533d..537f7c875 100644 --- a/packages/website/src/components/Navbar/index.tsx +++ b/packages/website/src/components/Navbar/index.tsx @@ -1,8 +1,11 @@ 'use client'; -import { assertSecret } from '@blitzkit/core/src/blitzkit/assertSecret'; -import { imgur, ImgurSize } from '@blitzkit/core/src/imgur/imgur'; -import { patreonLoginUrl } from '@blitzkit/core/src/patreon/patreonLoginUrl'; +import { + assertSecret, + imgur, + ImgurSize, + patreonLoginUrl, +} from '@blitzkit/core'; import { Cross1Icon, DiscordLogoIcon, diff --git a/packages/website/src/components/PageWrapper.tsx b/packages/website/src/components/PageWrapper.tsx index 1900d58a0..f9c34766f 100644 --- a/packages/website/src/components/PageWrapper.tsx +++ b/packages/website/src/components/PageWrapper.tsx @@ -11,7 +11,7 @@ type PageWrapperProps = FlexProps & { padding?: RadixSize; }; -export default function PageWrapper({ +export function PageWrapper({ style, color, size = 800, diff --git a/packages/website/src/components/TankRowHeaderCell.tsx b/packages/website/src/components/TankRowHeaderCell.tsx index 88795c199..742a3041a 100644 --- a/packages/website/src/components/TankRowHeaderCell.tsx +++ b/packages/website/src/components/TankRowHeaderCell.tsx @@ -1,5 +1,4 @@ -import { TankDefinition } from '@blitzkit/core'; -import { tankIcon } from '@blitzkit/core/src/blitzkit/tankIcon'; +import { TankDefinition, tankIcon } from '@blitzkit/core'; import { classIcons } from './ClassIcon'; import { ExperimentIcon } from './ExperimentIcon'; import { Link } from './Link'; @@ -36,8 +35,8 @@ export function TankRowHeaderCell({ tank }: TankRowHeaderCellProps) { tank.treeType === 'collector' ? 'blue' : tank.treeType === 'premium' - ? 'amber' - : 'gray' + ? 'amber' + : 'gray' } highContrast={tank.treeType === 'researchable'} underline="hover" diff --git a/packages/website/src/core/blitz/applyPitchYawLimits.ts b/packages/website/src/core/blitz/applyPitchYawLimits.ts index a74014cea..2173779fb 100644 --- a/packages/website/src/core/blitz/applyPitchYawLimits.ts +++ b/packages/website/src/core/blitz/applyPitchYawLimits.ts @@ -1,8 +1,4 @@ -import { - PitchLimits, - YawLimits, -} from '@blitzkit/core/src/blitzkit/modelDefinitions'; -import { normalizeAngleRad } from '@blitzkit/core/src/math/normalizeAngleRad'; +import { normalizeAngleRad, PitchLimits, YawLimits } from '@blitzkit/core'; import { clamp } from 'lodash'; import { degToRad } from 'three/src/math/MathUtils'; diff --git a/packages/website/src/core/blitz/generateStats.ts b/packages/website/src/core/blitz/generateStats.ts index 47ec6df83..abd60b05b 100644 --- a/packages/website/src/core/blitz/generateStats.ts +++ b/packages/website/src/core/blitz/generateStats.ts @@ -1,5 +1,4 @@ -import { BlitzStats } from '@blitzkit/core'; -import calculateWN8 from '@blitzkit/core/src/statistics/calculateWN8'; +import { BlitzStats, calculateWN8 } from '@blitzkit/core'; export type Stat = keyof ReturnType; diff --git a/packages/website/src/core/blitz/getAccountAchievements.ts b/packages/website/src/core/blitz/getAccountAchievements.ts index 55a84fcd0..737c83407 100644 --- a/packages/website/src/core/blitz/getAccountAchievements.ts +++ b/packages/website/src/core/blitz/getAccountAchievements.ts @@ -1,5 +1,5 @@ import { Region } from '@blitzkit/core'; -import fetchBlitz from './fetchBlitz'; +import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz'; import { normalizeIds } from './normalizeIds'; interface IndividualAccountAchievements { diff --git a/packages/website/src/core/blitz/getAccountInfo.ts b/packages/website/src/core/blitz/getAccountInfo.ts index cbd25b93b..03db6a5d1 100644 --- a/packages/website/src/core/blitz/getAccountInfo.ts +++ b/packages/website/src/core/blitz/getAccountInfo.ts @@ -1,5 +1,8 @@ import { BlitzStats, Region } from '@blitzkit/core'; -import fetchBlitz, { FetchBlitzParams } from './fetchBlitz'; +import { + FetchBlitzParams, + fetchBlitz, +} from '@blitzkit/core/src/blitz/fetchBlitz'; import { normalizeIds } from './normalizeIds'; export interface SupplementaryStats { diff --git a/packages/website/src/core/blitz/getClanAccountInfo.ts b/packages/website/src/core/blitz/getClanAccountInfo.ts index e56cb05e4..f5245c538 100644 --- a/packages/website/src/core/blitz/getClanAccountInfo.ts +++ b/packages/website/src/core/blitz/getClanAccountInfo.ts @@ -1,5 +1,5 @@ import { Region } from '@blitzkit/core'; -import fetchBlitz from './fetchBlitz'; +import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz'; import { normalizeIds } from './normalizeIds'; type IndividualClanAccountInfo = { diff --git a/packages/website/src/core/blitz/getClanInfo.ts b/packages/website/src/core/blitz/getClanInfo.ts index 0b1a5423c..7b229970f 100644 --- a/packages/website/src/core/blitz/getClanInfo.ts +++ b/packages/website/src/core/blitz/getClanInfo.ts @@ -1,5 +1,5 @@ import { Region } from '@blitzkit/core'; -import fetchBlitz from './fetchBlitz'; +import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz'; import { normalizeIds } from './normalizeIds'; interface IndividualClanInfo { diff --git a/packages/website/src/core/blitz/getRatingLeague.ts b/packages/website/src/core/blitz/getRatingLeague.ts index deafcf420..9946586ca 100644 --- a/packages/website/src/core/blitz/getRatingLeague.ts +++ b/packages/website/src/core/blitz/getRatingLeague.ts @@ -1,9 +1,7 @@ -import { Region } from '@blitzkit/core'; -import { LeagueTop } from '@blitzkit/core/src/blitz/rating'; -import { RatingPlayer } from '@blitzkit/core/src/statistics/deltaBkrlBlitzStats'; +import { LeagueTop, RatingPlayer, Region } from '@blitzkit/core'; import { context } from '../blitzkit/context'; import { patientFetch } from '../blitzkit/patientFetch'; -import regionToRegionSubdomain from './regionToRegionSubdomain'; +import { regionToRegionSubdomain } from './regionToRegionSubdomain'; export async function getRatingLeague( region: Region, diff --git a/packages/website/src/core/blitz/getRatingNeighbors.ts b/packages/website/src/core/blitz/getRatingNeighbors.ts index 16624b3fc..6a8e71962 100644 --- a/packages/website/src/core/blitz/getRatingNeighbors.ts +++ b/packages/website/src/core/blitz/getRatingNeighbors.ts @@ -1,7 +1,7 @@ import { RatingNeighbors, Region } from '@blitzkit/core'; import { patientFetch } from '../blitzkit/patientFetch'; import { withCORSProxy } from '../blitzkit/withCORSProxy'; -import regionToRegionSubdomain from './regionToRegionSubdomain'; +import { regionToRegionSubdomain } from './regionToRegionSubdomain'; export async function getRatingNeighbors( region: Region, diff --git a/packages/website/src/core/blitz/getTankStats.ts b/packages/website/src/core/blitz/getTankStats.ts index 59526bbe6..25977890f 100644 --- a/packages/website/src/core/blitz/getTankStats.ts +++ b/packages/website/src/core/blitz/getTankStats.ts @@ -1,7 +1,10 @@ import { Region, TanksStats } from '@blitzkit/core'; -import fetchBlitz, { FetchBlitzParams } from './fetchBlitz'; +import { + fetchBlitz, + FetchBlitzParams, +} from '@blitzkit/core/src/blitz/fetchBlitz'; -export default async function getTankStats( +export async function getTankStats( region: Region, id: number, params?: FetchBlitzParams, diff --git a/packages/website/src/core/blitz/isOnGoingRatingSeason.ts b/packages/website/src/core/blitz/isOnGoingRatingSeason.ts index 14efb9b42..adc43d089 100644 --- a/packages/website/src/core/blitz/isOnGoingRatingSeason.ts +++ b/packages/website/src/core/blitz/isOnGoingRatingSeason.ts @@ -1,4 +1,4 @@ -import getRatingInfo from './getRatingInfo'; +import { getRatingInfo } from '@blitzkit/core/src/blitz/getRatingInfo'; export async function isOnGoingRatingSeason() { const ratingInfo = await getRatingInfo('com'); diff --git a/packages/website/src/core/blitz/regionSubdomainToRegion.ts b/packages/website/src/core/blitz/regionSubdomainToRegion.ts deleted file mode 100644 index 4d6f17ddb..000000000 --- a/packages/website/src/core/blitz/regionSubdomainToRegion.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Region, RegionSubdomain } from "@blitzkit/core"; - -export default function regionSubdomainToRegion( - regionDomain: RegionSubdomain, -): Region { - return regionDomain === 'na' ? 'com' : regionDomain; -} diff --git a/packages/website/src/core/blitz/regionToRegionSubdomain.ts b/packages/website/src/core/blitz/regionToRegionSubdomain.ts index 1c85f0920..8cdaf8f9c 100644 --- a/packages/website/src/core/blitz/regionToRegionSubdomain.ts +++ b/packages/website/src/core/blitz/regionToRegionSubdomain.ts @@ -1,7 +1,5 @@ -import { Region, RegionSubdomain } from "@blitzkit/core"; +import { Region, RegionSubdomain } from '@blitzkit/core'; -export default function regionToRegionSubdomain( - regionDomain: Region, -): RegionSubdomain { +export function regionToRegionSubdomain(regionDomain: Region): RegionSubdomain { return regionDomain === 'com' ? 'na' : regionDomain; } diff --git a/packages/website/src/core/blitz/rotateDavaVector.ts b/packages/website/src/core/blitz/rotateDavaVector.ts index 3cc8f7f02..14bd49613 100644 --- a/packages/website/src/core/blitz/rotateDavaVector.ts +++ b/packages/website/src/core/blitz/rotateDavaVector.ts @@ -1,4 +1,4 @@ -import { I_HAT } from '@blitzkit/core/src/math/axis'; +import { I_HAT } from '@blitzkit/core'; import { Vector3 } from 'three'; export function rotateDavaVector(vector: Vector3) { diff --git a/packages/website/src/core/blitz/searchCurrentRatingPlayers.ts b/packages/website/src/core/blitz/searchCurrentRatingPlayers.ts index 0368782ae..e2c10edb0 100644 --- a/packages/website/src/core/blitz/searchCurrentRatingPlayers.ts +++ b/packages/website/src/core/blitz/searchCurrentRatingPlayers.ts @@ -1,6 +1,6 @@ import { Region } from '@blitzkit/core'; import { context } from '../blitzkit/context'; -import regionToRegionSubdomain from './regionToRegionSubdomain'; +import { regionToRegionSubdomain } from './regionToRegionSubdomain'; type CurrentRatingPlayerSearch = Record< number, diff --git a/packages/website/src/core/blitz/unrotateDavaVector.ts b/packages/website/src/core/blitz/unrotateDavaVector.ts index a7cd1d910..509e0724b 100644 --- a/packages/website/src/core/blitz/unrotateDavaVector.ts +++ b/packages/website/src/core/blitz/unrotateDavaVector.ts @@ -1,4 +1,4 @@ -import { I_HAT } from '@blitzkit/core/src/math/axis'; +import { I_HAT } from '@blitzkit/core'; import { Vector3 } from 'three'; export function unrotateDavaVector(vector: Vector3) { diff --git a/packages/website/src/core/blitzkit/discoveredIdDefinitions.ts b/packages/website/src/core/blitzkit/discoveredIdDefinitions.ts index 668b46500..850eb2ea1 100644 --- a/packages/website/src/core/blitzkit/discoveredIdDefinitions.ts +++ b/packages/website/src/core/blitzkit/discoveredIdDefinitions.ts @@ -1,4 +1,4 @@ -import { asset } from '@blitzkit/core/src/blitzkit/asset'; +import { asset } from '@blitzkit/core'; export interface DiscoveredIdsDefinitions { time: number; diff --git a/packages/website/src/core/blitzkit/getTimeDaysAgo.ts b/packages/website/src/core/blitzkit/getTimeDaysAgo.ts index f1c529d9f..579d38cc8 100644 --- a/packages/website/src/core/blitzkit/getTimeDaysAgo.ts +++ b/packages/website/src/core/blitzkit/getTimeDaysAgo.ts @@ -6,7 +6,7 @@ const TIME_ZONE_MAPPINGS: Record = { asia: +7, // Central Asia Standard Time }; -export default function getTimeDaysAgo(region: Region, daysAgo: number) { +export function getTimeDaysAgo(region: Region, daysAgo: number) { const now = new Date(); if (daysAgo === 0) now.getTime() / 1000; diff --git a/packages/website/src/core/blitzkit/hasEquipment.ts b/packages/website/src/core/blitzkit/hasEquipment.ts index e0a36e0ed..0cbb492ff 100644 --- a/packages/website/src/core/blitzkit/hasEquipment.ts +++ b/packages/website/src/core/blitzkit/hasEquipment.ts @@ -1,4 +1,4 @@ -import { equipmentDefinitions } from '@blitzkit/core/src/blitzkit/equipmentDefinitions'; +import { equipmentDefinitions } from '@blitzkit/core'; import { EquipmentMatrix } from '../../stores/duel'; export async function hasEquipment( diff --git a/packages/website/src/core/blitzkit/mapDefinitions.ts b/packages/website/src/core/blitzkit/mapDefinitions.ts index 9b8031c3a..5ab166388 100644 --- a/packages/website/src/core/blitzkit/mapDefinitions.ts +++ b/packages/website/src/core/blitzkit/mapDefinitions.ts @@ -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 interface MapDefinitions { [id: number]: { diff --git a/packages/website/src/core/blitzkit/modelTransform.ts b/packages/website/src/core/blitzkit/modelTransform.ts index d430d41f7..7966a499a 100644 --- a/packages/website/src/core/blitzkit/modelTransform.ts +++ b/packages/website/src/core/blitzkit/modelTransform.ts @@ -1,4 +1,4 @@ -import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager'; +import { EventManager } from '@blitzkit/core'; import { invalidate } from '@react-three/fiber'; export interface ModelTransformEventData { diff --git a/packages/website/src/core/blitzkit/parseBkni.ts b/packages/website/src/core/blitzkit/parseBkni.ts index bf864354d..c6074b093 100644 --- a/packages/website/src/core/blitzkit/parseBkni.ts +++ b/packages/website/src/core/blitzkit/parseBkni.ts @@ -1,5 +1,4 @@ -import { BKNI_COLORS, BkniPercentile } from '@blitzkit/core'; -import getBkniPercentile from '@blitzkit/core/src/statistics/getBkniPercentile'; +import { BKNI_COLORS, BkniPercentile, getBkniPercentile } from '@blitzkit/core'; export function parseBkni(bkni: number) { const bkniFraction = (bkni + 1) / 2; diff --git a/packages/website/src/core/blitzkit/pose.ts b/packages/website/src/core/blitzkit/pose.ts index 78671158a..f05156844 100644 --- a/packages/website/src/core/blitzkit/pose.ts +++ b/packages/website/src/core/blitzkit/pose.ts @@ -1,4 +1,4 @@ -import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager'; +import { EventManager } from '@blitzkit/core'; export enum Pose { HullDown, diff --git a/packages/website/src/core/blitzkit/resolveThickness.ts b/packages/website/src/core/blitzkit/resolveThickness.ts index f85a32a14..ec1d3a675 100644 --- a/packages/website/src/core/blitzkit/resolveThickness.ts +++ b/packages/website/src/core/blitzkit/resolveThickness.ts @@ -1,8 +1,8 @@ -import { ModelArmor } from '@blitzkit/core/src/blitzkit/modelDefinitions'; +import { ModelArmor } from '@blitzkit/core'; export function resolveArmor(armor: ModelArmor, index: number) { const spaced = armor.spaced?.includes(index) ?? false; - const thickness = index === -1 ? 0 : armor.thickness[index] ?? 0; + const thickness = index === -1 ? 0 : (armor.thickness[index] ?? 0); return { spaced, thickness }; } diff --git a/packages/website/src/core/blitzkit/tankIconPng.ts b/packages/website/src/core/blitzkit/tankIconPng.ts index 60e845ba4..a15b09c8b 100644 --- a/packages/website/src/core/blitzkit/tankIconPng.ts +++ b/packages/website/src/core/blitzkit/tankIconPng.ts @@ -1,4 +1,4 @@ -import { tankIcon } from '@blitzkit/core/src/blitzkit/tankIcon'; +import { tankIcon } from '@blitzkit/core'; import { iconPng } from './iconPng'; export function tankIconPng(id: number) { diff --git a/packages/website/src/core/blitzkit/tankToCompareMember.ts b/packages/website/src/core/blitzkit/tankToCompareMember.ts index d63c95cfb..b5faa3642 100644 --- a/packages/website/src/core/blitzkit/tankToCompareMember.ts +++ b/packages/website/src/core/blitzkit/tankToCompareMember.ts @@ -1,5 +1,4 @@ -import { TankDefinition } from '@blitzkit/core'; -import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { ProvisionDefinitions, TankDefinition } from '@blitzkit/core'; import { uniqueId } from 'lodash'; import { CompareMember } from '../../stores/compareEphemeral'; import { tankToDuelMember } from './tankToDuelMember'; diff --git a/packages/website/src/core/blitzkit/tankToDuelMember.ts b/packages/website/src/core/blitzkit/tankToDuelMember.ts index b5587f0d8..9f2022e4b 100644 --- a/packages/website/src/core/blitzkit/tankToDuelMember.ts +++ b/packages/website/src/core/blitzkit/tankToDuelMember.ts @@ -1,6 +1,8 @@ -import { TankDefinition } from '@blitzkit/core'; -import { availableProvisions } from '@blitzkit/core/src/blitzkit/availableProvisions'; -import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; +import { + availableProvisions, + ProvisionDefinitions, + TankDefinition, +} from '@blitzkit/core'; import { DuelMember } from '../../stores/duel'; import { genericDefaultEquipmentMatrix } from '../../stores/duel/constants'; diff --git a/packages/website/src/hooks/useOnScreen.ts b/packages/website/src/hooks/useOnScreen.ts index c6a23f84e..27ec8b63e 100644 --- a/packages/website/src/hooks/useOnScreen.ts +++ b/packages/website/src/hooks/useOnScreen.ts @@ -5,7 +5,7 @@ import { RefObject, useEffect, useRef, useState } from 'react'; * * https://stackoverflow.com/a/65008608/12294756 */ -export default function useOnScreen(ref: RefObject) { +export function useOnScreen(ref: RefObject) { const [isIntersecting, setIntersecting] = useState(false); const observer = useRef(); diff --git a/packages/website/src/stores/compareEphemeral.ts b/packages/website/src/stores/compareEphemeral.ts index 31138ad3e..800bd117e 100644 --- a/packages/website/src/stores/compareEphemeral.ts +++ b/packages/website/src/stores/compareEphemeral.ts @@ -1,6 +1,6 @@ 'use client'; -import { createNextSafeStore } from '@blitzkit/core/src/zustand/createNextSafeStore'; +import { createNextSafeStore } from '@blitzkit/core'; import { create } from 'zustand'; import { DuelMember } from './duel'; diff --git a/packages/website/src/stores/duel/index.ts b/packages/website/src/stores/duel/index.ts index 7dfb3cfb1..5f7824434 100644 --- a/packages/website/src/stores/duel/index.ts +++ b/packages/website/src/stores/duel/index.ts @@ -1,15 +1,15 @@ 'use client'; import { + createNextSafeStore, EngineDefinition, GunDefinition, + ProvisionDefinitions, ShellDefinition, TankDefinition, TrackDefinition, TurretDefinition, } from '@blitzkit/core'; -import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; -import { createNextSafeStore } from '@blitzkit/core/src/zustand/createNextSafeStore'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; import { tankToDuelMember } from '../../core/blitzkit/tankToDuelMember'; diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 1d5ca033c..a186fbb69 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -9,6 +9,14 @@ }, "include": [ "src/**/*", - ".next/types/**/*.ts" - ] + ".next/types/**/*.ts", + "../core/src/blitz/getRatingInfo.ts", + "../core/src/blitz/getLeagueFromScore.ts", + "../bot/src/core/blitz/normalizeLeagueIcon.ts", + "../core/src/blitzkit/getArchivedLatestSeasonNumber.ts", + "../core/src/blitzkit/getArchivedRatingInfo.ts", + "../core/src/blitzkit/getArchivedRatingLeaderboard.ts", + "../core/src/blitzkit/getArchivedRatingMidnightLeaderboard.ts", + "../core/src/blitz/fetchBlitz.ts" +, "../core/src/blitz/regionSubdomainToRegion.ts" ] }