Compare commits

...
10 Commits
Author SHA1 Message Date
tresabhi 0922614dbc finalize 2026-10-22 16:37:16 -05:00
tresabhi ae4b2e1bb3 Merge branch 'main' into beg 2026-10-22 16:25:11 -05:00
tresabhi 72e358f034 add pr checks 2026-10-22 15:45:04 -05:00
tresabhi b4a689dfbb start adding tiers 2026-10-22 15:42:07 -05:00
tresabhi 19e535969e colors 2026-10-22 11:51:08 -05:00
tresabhi eebc373b46 better 2026-10-22 11:45:18 -05:00
tresabhi ecb1a7c21e base 2026-10-22 11:30:03 -05:00
tresabhi 625d8d1595 cleaner logic 2026-10-22 09:13:57 -05:00
tresabhi fc9050e7fe fix imports 2026-10-21 23:23:55 -05:00
tresabhi 654887dd66 versio 2026-10-21 23:06:18 -05:00
9 changed files with 135 additions and 20 deletions

No files matched your search

+11 -6
View File
@@ -3,6 +3,8 @@ name: Website
on: on:
push: push:
pull_request:
schedule: schedule:
- cron: "0 4 * * *" - cron: "0 4 * * *"
@@ -102,7 +104,8 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
with: with:
ref: ${{ inputs.branch || 'production' }} # the PR's ref, or the manual input, or production (selected when cron)
ref: ${{ github.event.pull_request.head.sha || inputs.branch || 'production' }}
submodules: recursive submodules: recursive
token: ${{ secrets.GH_TOKEN }} token: ${{ secrets.GH_TOKEN }}
@@ -139,13 +142,15 @@ jobs:
- name: Trigger deployment - name: Trigger deployment
# Deploy if: # workflow should trigger if:
# 1. Running cron from main using content from production to target production # - is by cron and is on main: triggering to production
# 2. Running manually and targeting non-production # - is by push and is on production: triggering to production
# - is by manual and is on anything: triggering to anything
if: >- if: >-
${{ ${{
github.ref == 'refs/heads/production' || (github.event_name == 'schedule' && github.ref == 'refs/heads/main')
(inputs.environment != '' && inputs.environment != 'production') || (github.event_name == 'push' && github.ref == 'refs/heads/production')
|| (github.event_name == 'workflow_dispatch')
}} }}
env: env:
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "blitzkit", "name": "blitzkit",
"version": "1.32.0", "version": "1.33.0-beta.1",
"license": "BlitzKit License", "license": "BlitzKit License",
"private": true, "private": true,
"scripts": { "scripts": {
+2 -2
View File
@@ -44,7 +44,7 @@
"branches": { "branches": {
"beta": "Beta", "beta": "Beta",
"development": "Development", "development": "Post Malone Edition",
"opentest": "OpenTest", "opentest": "OpenTest",
"preview": "Preview", "preview": "Preview",
"production": "Production" "production": "Production"
@@ -992,7 +992,7 @@
"footer": { "footer": {
"motto": "Everything World of Tanks Blitz", "motto": "Everything World of Tanks Blitz",
"copyright": "Unaffiliated with Wargaming or any service", "association": "An Open Collective Project",
"about": { "about": {
"title": "About", "title": "About",
@@ -0,0 +1,36 @@
.outer {
padding: 0 var(--space-4);
margin-top: var(--space-3);
img {
width: 1.25em;
height: 1.25em;
border-radius: 50%;
}
.center {
position: relative;
background: linear-gradient(var(--pink-3), var(--purple-2));
box-shadow: var(--shadow-3);
max-width: 40rem;
padding: var(--space-5);
border-radius: var(--radius-4);
.important {
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -50%);
background-color: inherit;
padding: var(--space-3);
}
}
}
@@ -0,0 +1,48 @@
import { HeartFilledIcon } from "@radix-ui/react-icons";
import { Button, Em, Flex, Strong, Text } from "@radix-ui/themes";
import { donationTiers } from "../../config/donations";
import styles from "./index.module.css";
export function Beg() {
return (
<Flex align="center" gap="4" direction="column" className={styles.outer}>
<Text size="3" className={styles.important}>
<Flex gap="2" align="center">
<img src="https://github.com/tresabhi.png" />
<Em>We need your attention</Em>
</Flex>
</Text>
<Flex direction="column" className={styles.center} gap="4">
<Flex direction="column" gap="3">
<Text color="tomato">
We can no longer keep BlitzKit sustainable for <Strong>free</Strong>
.
</Text>
<Text>
We want to add tank modules, player statistics, rebalancing patch
notes, bring back the Discord bot, and more.
</Text>
<Text>
But paying out of pocket makes that impossible. We are an earnest
non-profit, so consider donating to make the above possible. 100% of
your money goes back into BlitzKit.
</Text>
</Flex>
<Flex gap="3">
{donationTiers.map(({ name, value, link }) => (
<a target="_blank" key={name} href={link}>
<Button size="3" color="crimson">
{value === null && <HeartFilledIcon />}
{value === null ? "Custom" : `$${value}`}
</Button>
</a>
))}
</Flex>
</Flex>
</Flex>
);
}
+3 -3
View File
@@ -43,9 +43,9 @@ const strings = getStrings(locale);
}} }}
> >
<Heading>BlitzKit</Heading> <Heading>BlitzKit</Heading>
<Text color="gray">{strings.website.footer.motto}</Text> <Text size="2" color="gray">{strings.website.footer.motto}</Text>
<Text size="1" color="gray"> <Text size="2" color="gray">
{strings.website.footer.copyright} {strings.website.footer.association}
</Text> </Text>
<Box mt="2"> <Box mt="2">
+23
View File
@@ -0,0 +1,23 @@
// TODO: source this from the open collective api, if even possible
export const donationTiers = [
{
name: "The Backer",
value: 5,
link: "https://opencollective.com/blitzkit/contribute/backers-106312/checkout",
},
{
name: "The Engineer",
value: 10,
link: "https://opencollective.com/blitzkit/contribute/the-engineer-107057/checkout",
},
{
name: "The Patron",
value: 25,
link: "https://opencollective.com/blitzkit/contribute/the-patron-107056/checkout",
},
{
name: "The Sponsor",
value: null,
link: "https://opencollective.com/blitzkit/donate",
},
];
@@ -16,12 +16,15 @@ import { ALL_EXTENSIONS } from "@gltf-transform/extensions";
import { dedup, mergeDocuments, unpartition } from "@gltf-transform/functions"; import { dedup, mergeDocuments, unpartition } from "@gltf-transform/functions";
import type { APIContext } from "astro"; import type { APIContext } from "astro";
import type { Vector3Tuple, Vector4Tuple } from "three"; import type { Vector3Tuple, Vector4Tuple } from "three";
import { SKIN_NUMBER } from "../../../../constants/skinNumber"; import { SKIN_NUMBER } from "../../../../../constants/skinNumber";
import { api } from "../../../../core/blitzkit/api"; import { api } from "../../../../../core/blitzkit/api";
import { mixStaticPaths } from "../../../../core/blitzkit/mixStaticPaths"; import { mixStaticPaths } from "../../../../../core/blitzkit/mixStaticPaths";
import { vfs } from "../../../../core/blitzkit/vfs"; import { vfs } from "../../../../../core/blitzkit/vfs";
import { getStaticPaths as _getStaticPaths } from "../../../[...chunk_api]/_index"; import {
import { extractMaterials, extractModel } from "../model.glb"; extractMaterials,
extractModel,
} from "../../../../[...chunk_models_tanks]/[id]/model.glb";
import { getStaticPaths as _getStaticPaths } from "../_index";
const SKIN_NUMBER_SLOTS = 5; const SKIN_NUMBER_SLOTS = 5;
const DIGIT_COLUMNS = 5; const DIGIT_COLUMNS = 5;
@@ -5,7 +5,7 @@ import locales from "@blitzkit/i18n/locales.json";
import { literals } from "@blitzkit/i18n/src/literals"; import { literals } from "@blitzkit/i18n/src/literals";
import { Box, Flex, Link } from "@radix-ui/themes"; import { Box, Flex, Link } from "@radix-ui/themes";
import { AesonPlug } from "../../../components/AesonPlug"; import { AesonPlug } from "../../../components/AesonPlug";
import { Countdown } from "../../../components/Countdown"; import { Beg } from "../../../components/Beg";
import HomeHero from "../../../components/HomeHero.astro"; import HomeHero from "../../../components/HomeHero.astro";
import { Plugs } from "../../../components/Plugs"; import { Plugs } from "../../../components/Plugs";
import ToolCard from "../../../components/ToolCard.astro"; import ToolCard from "../../../components/ToolCard.astro";
@@ -66,7 +66,7 @@ export const getStaticPaths = mixStaticPaths(_getStaticPaths, () => {
<BaseLayout {locale}> <BaseLayout {locale}>
<HomeHero /> <HomeHero />
<Countdown client:load /> <Beg />
{ {
locale !== locales.default && ( locale !== locales.default && (