diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 204b835b7..364ef9a34 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -75,13 +75,22 @@ "name": "Guesser", "slogan": "Silhouette mini-game", "action": "Play" + }, + "changelogs": { + "name": "Changelogs", + "slogan": "BlitzKit patch notes", + "action": "Read up" } }, "home": { "search": "Search tanks, players, avatars...", "credit": "by TrèsAbhi", - "tanks": "Tanks" + "tanks": "Tanks", + "players": "Players", + "cosmetics": "Cosmetics", + "games": "Games", + "technical": "Technical" }, "avatars": { diff --git a/packages/website-ue/public/assets/tools/changelogs.webp b/packages/website-ue/public/assets/tools/changelogs.webp new file mode 100644 index 000000000..d6a8107bb Binary files /dev/null and b/packages/website-ue/public/assets/tools/changelogs.webp differ diff --git a/packages/website-ue/src/components/Button/index.tsx b/packages/website-ue/src/components/Button/index.tsx index cfd92b32f..8d185bcf8 100644 --- a/packages/website-ue/src/components/Button/index.tsx +++ b/packages/website-ue/src/components/Button/index.tsx @@ -19,6 +19,8 @@ export const LIGHT_TEXT_COLORS = new Set([ "brown", "crimson", "jade", + "blue", + "tomato", ]); export function Button({ @@ -33,7 +35,7 @@ export function Button({ className={classNames(styles.button, className)} data-color={color} data-variant={variant} - data-light-text={color ? LIGHT_TEXT_COLORS.has(color) : undefined} + data-light-text={variant === "solid"} style={{ backgroundColor: color ? `var(--${color}-9)` : undefined, ...style, diff --git a/packages/website-ue/src/components/HomeCosmetics.astro b/packages/website-ue/src/components/HomeCosmetics.astro new file mode 100644 index 000000000..fe334dd10 --- /dev/null +++ b/packages/website-ue/src/components/HomeCosmetics.astro @@ -0,0 +1,31 @@ +--- +import { api } from "../core/api/dynamic"; +import { tools } from "../core/tools/tools"; +import { Heading } from "./Heading"; +import { Section } from "./Section"; +import ToolCard from "./ToolCard.astro"; +import ToolsWrapper from "./ToolsWrapper.astro"; + +interface Props { + locale: string; +} + +const { locale } = Astro.props; + +const strings = await api.strings(locale); +--- + + + +
+ {strings.home.cosmetics} + + + + + +
diff --git a/packages/website-ue/src/components/HomeGames.astro b/packages/website-ue/src/components/HomeGames.astro new file mode 100644 index 000000000..bc0bb2718 --- /dev/null +++ b/packages/website-ue/src/components/HomeGames.astro @@ -0,0 +1,31 @@ +--- +import { api } from "../core/api/dynamic"; +import { tools } from "../core/tools/tools"; +import { Heading } from "./Heading"; +import { Section } from "./Section"; +import ToolCard from "./ToolCard.astro"; +import ToolsWrapper from "./ToolsWrapper.astro"; + +interface Props { + locale: string; +} + +const { locale } = Astro.props; + +const strings = await api.strings(locale); +--- + + + +
+ {strings.home.games} + + + + + +
diff --git a/packages/website-ue/src/components/HomeHero.astro b/packages/website-ue/src/components/HomeHero.astro index 5213fc9ca..84395e016 100644 --- a/packages/website-ue/src/components/HomeHero.astro +++ b/packages/website-ue/src/components/HomeHero.astro @@ -79,6 +79,10 @@ const strings = await api.strings(locale); letter-spacing: -0.15em; } } + + .name { + position: relative; + } } .search { @@ -100,7 +104,7 @@ const strings = await api.strings(locale); 2.0 - + {strings.home.credit} diff --git a/packages/website-ue/src/components/HomePlayers.astro b/packages/website-ue/src/components/HomePlayers.astro new file mode 100644 index 000000000..a08d240dd --- /dev/null +++ b/packages/website-ue/src/components/HomePlayers.astro @@ -0,0 +1,32 @@ +--- +import { api } from "../core/api/dynamic"; +import { tools } from "../core/tools/tools"; +import { Heading } from "./Heading"; +import { Section } from "./Section"; +import ToolCard from "./ToolCard.astro"; +import ToolsWrapper from "./ToolsWrapper.astro"; + +interface Props { + locale: string; +} + +const { locale } = Astro.props; + +const strings = await api.strings(locale); +--- + + + +
+ {strings.home.players} + + + + + + +
diff --git a/packages/website-ue/src/components/TanksCard.astro b/packages/website-ue/src/components/HomeTanks.astro similarity index 100% rename from packages/website-ue/src/components/TanksCard.astro rename to packages/website-ue/src/components/HomeTanks.astro diff --git a/packages/website-ue/src/components/HomeTechnical.astro b/packages/website-ue/src/components/HomeTechnical.astro new file mode 100644 index 000000000..9ac8179bc --- /dev/null +++ b/packages/website-ue/src/components/HomeTechnical.astro @@ -0,0 +1,31 @@ +--- +import { api } from "../core/api/dynamic"; +import { tools } from "../core/tools/tools"; +import { Heading } from "./Heading"; +import { Section } from "./Section"; +import ToolCard from "./ToolCard.astro"; +import ToolsWrapper from "./ToolsWrapper.astro"; + +interface Props { + locale: string; +} + +const { locale } = Astro.props; + +const strings = await api.strings(locale); +--- + + + +
+ {strings.home.technical} + + + + + +
diff --git a/packages/website-ue/src/core/tools/tools.ts b/packages/website-ue/src/core/tools/tools.ts index 000728ea9..b63b6bb11 100644 --- a/packages/website-ue/src/core/tools/tools.ts +++ b/packages/website-ue/src/core/tools/tools.ts @@ -84,4 +84,11 @@ export const tools: Record = { accent: "brown", banner_background_position: "bottom", }, + + changelogs: { + id: "changelogs", + + accent: "gray", + banner_background_position: "bottom", + }, }; diff --git a/packages/website-ue/src/pages/[...locale]/index.astro b/packages/website-ue/src/pages/[...locale]/index.astro index 0f5845fa2..a7db16f7c 100644 --- a/packages/website-ue/src/pages/[...locale]/index.astro +++ b/packages/website-ue/src/pages/[...locale]/index.astro @@ -2,11 +2,12 @@ import locales from "@blitzkit/i18n/locales.json"; import type { GetStaticPaths } from "astro"; import ColorScale from "../../components/ColorScale.astro"; +import HomeCosmetics from "../../components/HomeCosmetics.astro"; +import HomeGames from "../../components/HomeGames.astro"; import HomeHero from "../../components/HomeHero.astro"; -import { Section } from "../../components/Section"; -import TanksCard from "../../components/TanksCard.astro"; -import ToolCard from "../../components/ToolCard.astro"; -import ToolsWrapper from "../../components/ToolsWrapper.astro"; +import HomePlayers from "../../components/HomePlayers.astro"; +import HomeTanks from "../../components/HomeTanks.astro"; +import HomeTechnical from "../../components/HomeTechnical.astro"; import { tools } from "../../core/tools/tools"; import BaseLayout from "../../layouts/BaseLayout.astro"; @@ -27,15 +28,9 @@ const { locale } = Astro.props; {Object.values(tools).map((tool) => )} - - - - -
- - {Object.values(tools).map((tool) => )} - -
+ + + + +