mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
patch da code
This commit is contained in:
1 parent
b298874f0d
commit
a00411919d
80 files changed
+131
-112
No files matched your search
@@ -21,7 +21,7 @@ if (typeof window !== "undefined") {
|
||||
throw new Error("ServerAPI is being evaluated in the browser");
|
||||
}
|
||||
|
||||
const globbedStrings = import.meta.glob("../../../../i18n/strings/*.json", {
|
||||
const globbedStrings = import.meta.glob("../../../i18n/strings/*.json", {
|
||||
import: "default",
|
||||
});
|
||||
const tankSlugPattern = /^(\/\w+)?\/tanks\/([a-z0-9-]+)\/$/;
|
||||
@@ -229,10 +229,10 @@ export class ServerAPI extends AbstractAPI {
|
||||
@Cache(true)
|
||||
async strings(locale: string) {
|
||||
const localized = (await globbedStrings[
|
||||
`../../../../i18n/strings/${locale}.json`
|
||||
`../../../i18n/strings/${locale}.json`
|
||||
]()) as DeepPartial<Strings>;
|
||||
const defaults = (await globbedStrings[
|
||||
`../../../../i18n/strings/${locales.default}.json`
|
||||
`../../../i18n/strings/${locales.default}.json`
|
||||
]()) as Strings;
|
||||
const strings = merge({}, defaults, localized);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import ApiDescription from "./ApiDescription.astro";
|
||||
import { ApiTester } from "./ApiTester";
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
type Symbol,
|
||||
type TypeNode,
|
||||
} from "typescript";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { Code } from "./Code";
|
||||
import HighlightedCodeBlock from "./HighlightedCodeBlock.astro";
|
||||
import { Link } from "./Link";
|
||||
|
||||
@@ -2,10 +2,10 @@ import { literals } from "@blitzkit/i18n";
|
||||
import type { Avatar } from "@protos/blitzkit/avatar";
|
||||
import { Grade } from "@protos/game/proto/legacy/blitz_static_standard_grades_enum";
|
||||
import { DownloadIcon, StarFilledIcon } from "@radix-ui/react-icons";
|
||||
import type { Color } from "../../core/ui/color";
|
||||
import { useGameStrings } from "../../hooks/useGameStrings";
|
||||
import { useStrings } from "../../hooks/useStrings";
|
||||
import type { PropsWithSkeleton } from "../../types/propsWithSkeleton";
|
||||
import type { Color } from "../../ui/color";
|
||||
import { Badge } from "../Badge";
|
||||
import { Button } from "../Button";
|
||||
import { Dialog } from "../Dialog";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import fuzzysort from "fuzzysort";
|
||||
import { useMemo } from "react";
|
||||
import { api } from "../../core/api/dynamic";
|
||||
import { api } from "../../api/dynamic";
|
||||
import { useAwait } from "../../hooks/useAwait";
|
||||
import { useGameStrings } from "../../hooks/useGameStrings";
|
||||
import { useLocale } from "../../hooks/useLocale";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { Color } from "../../core/ui/color";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import type { Color } from "../../ui/color";
|
||||
import { LIGHT_TEXT_COLORS } from "../Button";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { Color } from "../../core/ui/color";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import type { Color } from "../../ui/color";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface ButtonProps extends ComponentProps<"button"> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { ExclamationTriangleIcon } from "@radix-ui/react-icons";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { Heading } from "./Heading";
|
||||
import { Section } from "./Section";
|
||||
import { Text } from "./Text";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface CodeProps extends ComponentProps<"code"> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
import type { Color } from "../core/ui/color";
|
||||
import type { Color } from "../ui/color";
|
||||
|
||||
interface Props {
|
||||
color: Color;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import * as colors from "@radix-ui/colors";
|
||||
import type { Color } from "../core/ui/color";
|
||||
import type { Color } from "../ui/color";
|
||||
|
||||
interface Props {
|
||||
color: Color | AlphaOnlyColor;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
import { DiscordLogoIcon, GitHubLogoIcon } from "@radix-ui/react-icons";
|
||||
import packageJson from "../../../../package.json";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { BlitzKitIcon } from "../icons/BlitzKit";
|
||||
import { Code } from "./Code";
|
||||
import { Link } from "./Link";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import { Text, type TextProps } from "../Text";
|
||||
import "./index.css";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { tools } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { tools } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { Section } from "./Section";
|
||||
import ToolCard from "./ToolCard.astro";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { tools } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { tools } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { Section } from "./Section";
|
||||
import ToolCard from "./ToolCard.astro";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { MagnifyingGlassIcon } from "@radix-ui/react-icons";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { BlitzKitIcon } from "../icons/BlitzKit";
|
||||
import { Code } from "./Code";
|
||||
import { Text } from "./Text";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { tools } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { tools } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { Section } from "./Section";
|
||||
import ToolCard from "./ToolCard.astro";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { tools } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { tools } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { HomeTanksPopular } from "./HomeTanksPopular";
|
||||
import { Section } from "./Section";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../core/api/dynamic";
|
||||
import { api } from "../../api/dynamic";
|
||||
import { useAwait } from "../../hooks/useAwait";
|
||||
import {
|
||||
LocaleProvider,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { tools } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { tools } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { Section } from "./Section";
|
||||
import ToolCard from "./ToolCard.astro";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import { Button, type ButtonProps } from "../Button";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import { Skeleton, type SkeletonProps } from "../Skeleton";
|
||||
import "./index.css";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { Color } from "../../core/ui/color";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import type { Color } from "../../ui/color";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface LinkProps extends ComponentProps<"a"> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps, FunctionComponent } from "react";
|
||||
import Markdown from "react-markdown";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import { Code } from "../Code";
|
||||
import { Text } from "../Text";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
@@ -2,8 +2,8 @@ import { formatCompact } from "@blitzkit/core";
|
||||
import type { StandardPrice } from "@protos/game/proto/legacy/blitz_static_standard_price";
|
||||
import type { StandardSinglePrice } from "@protos/game/proto/legacy/blitz_static_standard_single_price";
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { useLocale } from "../../hooks/useLocale";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import { Text } from "../Text";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useEffect, useRef, type ComponentProps } from "react";
|
||||
import { clamp } from "three/src/math/MathUtils.js";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
interface ScrollerProps extends ComponentProps<"div"> {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { Space } from "../../types/space";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface SectionProps extends ComponentProps<"div"> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface SkeletonProps extends ComponentProps<"div"> {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { api } from "../../core/api/dynamic";
|
||||
import { clientUnmounted } from "../../core/game/unmounted";
|
||||
import { api } from "../../api/dynamic";
|
||||
import { clientUnmounted } from "../../game/unmounted";
|
||||
import { useAwait } from "../../hooks/useAwait";
|
||||
import { useGameStrings } from "../../hooks/useGameStrings";
|
||||
import { useLocale } from "../../hooks/useLocale";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { CharacteristicOutput } from "../core/tankopedia/characteristics";
|
||||
import type { CharacteristicRenderConfig } from "../core/tankopedia/characteristicsOrder";
|
||||
import { renderCharacteristic } from "../hooks/useCharacteristicRenderer";
|
||||
import type { CharacteristicOutput } from "../tankopedia/characteristics";
|
||||
import type { CharacteristicRenderConfig } from "../tankopedia/characteristicsOrder";
|
||||
|
||||
interface Props {
|
||||
characteristic: CharacteristicOutput;
|
||||
|
||||
@@ -4,6 +4,10 @@ import type { StandardPrice } from "@protos/game/proto/legacy/blitz_static_stand
|
||||
import type { UpgradeLine } from "@protos/game/proto/legacy/blitz_static_tank_upgrade_line";
|
||||
import type { StageParameters } from "@protos/game/proto/legacy/blitz_static_tank_upgrade_single_stage";
|
||||
import { useMemo } from "react";
|
||||
import {
|
||||
alternativeLines,
|
||||
isAlternativeLine,
|
||||
} from "../../config/alternativeLines";
|
||||
import { useProtagonist } from "../../hooks/useProtagonist";
|
||||
import { useStrings } from "../../hooks/useStrings";
|
||||
import { useUpgradePreset } from "../../hooks/useUpgradePreset";
|
||||
@@ -46,9 +50,14 @@ function Line({ name, lines }: LineProps) {
|
||||
const combinedLines = useMemo(() => {
|
||||
const names: string[] = [name];
|
||||
|
||||
for (const key in mergeLines) {
|
||||
if (mergeLines[key] === name && lines.some((line) => line.name === key)) {
|
||||
names.push(key);
|
||||
for (const originalLine in alternativeLines) {
|
||||
const alternativeLine = alternativeLines[originalLine];
|
||||
|
||||
if (
|
||||
originalLine === name &&
|
||||
lines.some((line) => line.name === alternativeLine)
|
||||
) {
|
||||
names.push(alternativeLine);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +66,7 @@ function Line({ name, lines }: LineProps) {
|
||||
|
||||
return (
|
||||
<div className={styles.line}>
|
||||
{!(name in mergeLines) &&
|
||||
{!isAlternativeLine(name) &&
|
||||
combinedLines.map((name) => (
|
||||
<LineInner key={name} name={name} lines={lines} />
|
||||
))}
|
||||
@@ -173,7 +182,7 @@ function LineElement({ index, lineName, stage }: LineElementProps) {
|
||||
{/* {stage.display_name} */}
|
||||
|
||||
<Text lowContrast size="minor" className={styles.tier}>
|
||||
{lineName in mergeLines
|
||||
{isAlternativeLine(lineName)
|
||||
? strings.tanks.loadout.alternative
|
||||
: romanize(stage.number)}
|
||||
</Text>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ComponentProps } from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import type { ColorWithBW } from "../../core/ui/color";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import type { ColorWithBW } from "../../ui/color";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface TextProps extends ComponentProps<"span"> {
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
type ComponentProps,
|
||||
type ReactNode,
|
||||
} from "react";
|
||||
import { classNames } from "../../core/ui/classNames";
|
||||
import { classNames } from "../../ui/classNames";
|
||||
import styles from "./index.module.css";
|
||||
|
||||
export interface TextFieldProps extends ComponentProps<"input"> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { api } from "../core/api/dynamic";
|
||||
import type { Tool } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import type { Tool } from "../config/tools";
|
||||
import { Heading } from "./Heading";
|
||||
import { Text } from "./Text";
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
import { CaretRightIcon } from "@radix-ui/react-icons";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { type Tool } from "../core/tools/tools";
|
||||
import { api } from "../api/dynamic";
|
||||
import { type Tool } from "../config/tools";
|
||||
import { Button } from "./Button";
|
||||
import { LinkI18n } from "./LinkI18n";
|
||||
import { Text } from "./Text";
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
export const alternativeLines: Record<string, string> = {
|
||||
guns: "alternative_guns",
|
||||
};
|
||||
|
||||
export function isAlternativeLine(line: string) {
|
||||
for (const key in alternativeLines) {
|
||||
if (alternativeLines[key] === line) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
import { useMemo, type ReactNode } from "react";
|
||||
import type { CharacteristicOutput } from "../core/tankopedia/characteristics";
|
||||
import type { CharacteristicOutput } from "../tankopedia/characteristics";
|
||||
import {
|
||||
characteristicsOrder,
|
||||
type CharacteristicRenderConfig,
|
||||
} from "../core/tankopedia/characteristicsOrder";
|
||||
} from "../tankopedia/characteristicsOrder";
|
||||
import { useGameStrings } from "./useGameStrings";
|
||||
import { useStrings } from "./useStrings";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { useAwait } from "./useAwait";
|
||||
import { useLocale } from "./useLocale";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { Tankopedia } from "../stores/tankopedia";
|
||||
import { useAwait } from "./useAwait";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { deburr } from "lodash-es";
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { useAwait } from "./useAwait";
|
||||
import { useGameStrings } from "./useGameStrings";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { useAwait } from "./useAwait";
|
||||
import { useLocale } from "./useLocale";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { useAwait } from "./useAwait";
|
||||
|
||||
export function useTierCompare() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../core/api/dynamic";
|
||||
import { api } from "../api/dynamic";
|
||||
import { useAwait } from "./useAwait";
|
||||
|
||||
export function useUpgradePreset(name: string) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import ColorAlias from "../components/ColorAlias.astro";
|
||||
import ColorScale from "../components/ColorScale.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
import Navbar from "../components/Navbar.astro";
|
||||
import type { Color } from "../core/ui/color";
|
||||
import type { Color } from "../ui/color";
|
||||
|
||||
interface Props {
|
||||
locale: string;
|
||||
|
||||
@@ -6,7 +6,7 @@ import ColorScale from "../../../components/ColorScale.astro";
|
||||
import { Section } from "../../../components/Section";
|
||||
import SyntaxStyles from "../../../components/SyntaxStyles.astro";
|
||||
import ToolBanner from "../../../components/ToolBanner.astro";
|
||||
import { tools } from "../../../core/tools/tools";
|
||||
import { tools } from "../../../config/tools";
|
||||
import BaseLayout from "../../../layouts/BaseLayout.astro";
|
||||
|
||||
export { getStaticPaths } from "../index.astro";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
import ColorScale from "../../../components/ColorScale.astro";
|
||||
import ToolBanner from "../../../components/ToolBanner.astro";
|
||||
import { tools } from "../../../core/tools/tools";
|
||||
import { tools } from "../../../config/tools";
|
||||
import BaseLayout from "../../../layouts/BaseLayout.astro";
|
||||
import { Page } from "./_index";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import { Grade } from "@protos/blitz_static_standard_grades_enum";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import BaseLayout from "../../../layouts/BaseLayout.astro";
|
||||
|
||||
export { getStaticPaths } from "../index.astro";
|
||||
|
||||
@@ -9,8 +9,8 @@ import HomeHero from "../../components/HomeHero.astro";
|
||||
import HomePlayers from "../../components/HomePlayers.astro";
|
||||
import HomeTanks from "../../components/HomeTanks.astro";
|
||||
import HomeTechnical from "../../components/HomeTechnical.astro";
|
||||
import { clientUnmounted } from "../../core/game/unmounted";
|
||||
import { tools } from "../../core/tools/tools";
|
||||
import { tools } from "../../config/tools";
|
||||
import { clientUnmounted } from "../../game/unmounted";
|
||||
import BaseLayout from "../../layouts/BaseLayout.astro";
|
||||
|
||||
export const getStaticPaths = (() => {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { Fragment, useMemo } from "react";
|
||||
import { api } from "../../../../api/dynamic";
|
||||
import { TankopediaLoadout } from "../../../../components/TankopediaLoadout";
|
||||
import { api } from "../../../../core/api/dynamic";
|
||||
import { characteristicsOrder } from "../../../../core/tankopedia/characteristicsOrder";
|
||||
import { computeCharacteristics } from "../../../../core/tankopedia/computeCharacteristics";
|
||||
import { useAwait } from "../../../../hooks/useAwait";
|
||||
import { useCharacteristicRenderer } from "../../../../hooks/useCharacteristicRenderer";
|
||||
import { useGameStrings } from "../../../../hooks/useGameStrings";
|
||||
import { LocaleProvider } from "../../../../hooks/useLocale";
|
||||
import { Tankopedia } from "../../../../stores/tankopedia";
|
||||
import { characteristicsOrder } from "../../../../tankopedia/characteristicsOrder";
|
||||
import { computeCharacteristics } from "../../../../tankopedia/computeCharacteristics";
|
||||
|
||||
interface PageProps {
|
||||
id: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
import "@radix-ui/colors/violet-dark.css";
|
||||
import { api } from "../../../../core/api/dynamic";
|
||||
import { mixStaticPaths } from "../../../../core/astro/mixStaticPaths";
|
||||
import { api } from "../../../../api/dynamic";
|
||||
import { mixStaticPaths } from "../../../../astro/mixStaticPaths";
|
||||
import BaseLayout from "../../../../layouts/BaseLayout.astro";
|
||||
import { getStaticPaths as _getStaticPaths } from "../index.astro";
|
||||
import { Page } from "./_index";
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import fuzzysort from "fuzzysort";
|
||||
import { useMemo } from "react";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import { IncrementalLoader } from "../../../components/IncrementalLoader";
|
||||
import { TankCard } from "../../../components/TankCard";
|
||||
import { TankCards } from "../../../components/TankCards";
|
||||
import { TankSearch } from "../../../components/TankSearch";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { useAwait } from "../../../hooks/useAwait";
|
||||
import { LocaleProvider } from "../../../hooks/useLocale";
|
||||
import { useSearchableTanks } from "../../../hooks/useSearchableTanks";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import "@radix-ui/colors/violet-dark.css";
|
||||
import { Section } from "../../../components/Section";
|
||||
import ToolBanner from "../../../components/ToolBanner.astro";
|
||||
import { tools } from "../../../core/tools/tools";
|
||||
import { tools } from "../../../config/tools";
|
||||
import BaseLayout from "../../../layouts/BaseLayout.astro";
|
||||
import { Page } from "./_index";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
const { avatars } = await api.avatars();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { APIContext } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { imageProxy } from "../../../core/api/imageProxy";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import { imageProxy } from "../../../api/imageProxy";
|
||||
|
||||
export { getStaticPaths } from "./[id].json";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Identical to `avatars/[id].json`, but returns data on all avatars at once,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Avatars } from "@protos/blitzkit/avatars";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export async function GET() {
|
||||
const avatars = await api.avatars();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Returns a list of all avatars ids.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
const { backgrounds } = await api.backgrounds();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { APIContext } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { imageProxy } from "../../../core/api/imageProxy";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import { imageProxy } from "../../../api/imageProxy";
|
||||
|
||||
export { getStaticPaths } from "./[id].json";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export async function GET() {
|
||||
const { backgrounds } = await api.backgrounds();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export async function GET() {
|
||||
const { backgrounds } = await api.backgrounds();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { GetStaticPaths } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { imageProxy } from "../../../core/api/imageProxy";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import { imageProxy } from "../../../api/imageProxy";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
const group = api.metadata.group("CurrencyEntity");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { TankClass, TankType } from "@blitzkit/core";
|
||||
import { Nation } from "@protos/blitz_static_tank_component";
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { GunType } from "../../../core/tankopedia/characteristics";
|
||||
import { GunType } from "../../../tankopedia/characteristics";
|
||||
import { GET as _GET } from "./all.json";
|
||||
|
||||
export const ENUMS = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import locales from "@blitzkit/i18n/locales.json";
|
||||
import type { GetStaticPaths, GetStaticPathsResult } from "astro";
|
||||
import { api } from "../../../../core/api/dynamic";
|
||||
import { api } from "../../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
const paths: GetStaticPathsResult = [];
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Nation } from "@protos/game/proto/legacy/blitz_static_tank_component";
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { clientUnmountedResponse } from "../../../../core/api/responses";
|
||||
import { game } from "../../../../core/game/game";
|
||||
import { clientUnmounted } from "../../../../core/game/unmounted";
|
||||
import { clientUnmountedResponse } from "../../../../api/responses";
|
||||
import { game } from "../../../../game/game";
|
||||
import { clientUnmounted } from "../../../../game/unmounted";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
return Object.values(Nation)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import locales from "@blitzkit/i18n/locales.json";
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (() => {
|
||||
return locales.supported.map(({ locale }) => ({ params: { locale } }));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
const { list } = await api.tankList();
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { APIContext } from "astro";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
import {
|
||||
clientUnmountedResponse,
|
||||
notFoundResponse,
|
||||
} from "../../../core/api/responses";
|
||||
import { game } from "../../../core/game/game";
|
||||
import { clientUnmounted } from "../../../core/game/unmounted";
|
||||
} from "../../../api/responses";
|
||||
import { game } from "../../../game/game";
|
||||
import { clientUnmounted } from "../../../game/unmounted";
|
||||
|
||||
export { getStaticPaths } from "./[id].json";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Literally all the tanks in one place lmao.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Tanks } from "@protos/blitzkit/tanks";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Literally all the tanks in one place lmao.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { characteristicsOrder } from "../../../core/tankopedia/characteristicsOrder";
|
||||
import { characteristicsOrder } from "../../../tankopedia/characteristicsOrder";
|
||||
|
||||
/**
|
||||
* The naked man fears no pickpocket.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* List!
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { TankList } from "@protos/blitzkit/tank_list";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
/**
|
||||
* List!!
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export async function GET() {
|
||||
const popular = await api.popularTanks();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { PopularTanks } from "@protos/blitzkit/popular_tanks";
|
||||
import { api } from "../../../core/api/dynamic";
|
||||
import { api } from "../../../api/dynamic";
|
||||
|
||||
export async function GET() {
|
||||
const popular = await api.popularTanks();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { TankUpgradePricePresetComponent } from "@protos/game/proto/legacy/blitz_static_tank_upgrade_price_preset_component";
|
||||
import type { APIContext, GetStaticPaths } from "astro";
|
||||
import { api } from "../../../../../core/api/dynamic";
|
||||
import { api } from "../../../../../api/dynamic";
|
||||
|
||||
export const getStaticPaths = (async () => {
|
||||
return api.metadata
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { api } from "../../core/api/dynamic";
|
||||
import { api } from "../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Woah! test.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Tiers } from "@protos/blitzkit/tiers";
|
||||
import { api } from "../../core/api/dynamic";
|
||||
import { api } from "../../api/dynamic";
|
||||
|
||||
/**
|
||||
* Woah!
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { Tank } from "@protos/blitzkit/tank";
|
||||
import { Varuna } from "varuna";
|
||||
import { createTankState } from "../core/tankopedia/createTankState";
|
||||
import { type TankState } from "../core/tankopedia/tankState";
|
||||
import { createTankState } from "../tankopedia/createTankState";
|
||||
import { type TankState } from "../tankopedia/tankState";
|
||||
|
||||
interface Tankopedia {
|
||||
compare: TankopediaCompare;
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
TankType,
|
||||
} from "@protos/game/proto/legacy/blitz_static_tank_component";
|
||||
import type { ReactNode } from "react";
|
||||
import { VintageIcon } from "../../icons/Vintage";
|
||||
import { VintageIcon } from "../icons/Vintage";
|
||||
import {
|
||||
GunType,
|
||||
type CharacteristicName,
|
||||
|
||||
Reference in new issue
Block a user