diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json
index 0d10dc4a1..5bed66678 100644
--- a/packages/i18n/strings/en.json
+++ b/packages/i18n/strings/en.json
@@ -38,7 +38,7 @@
"branches": {
"beta": "Beta",
- "development": "Development",
+ "development": "Post Malone Edition",
"opentest": "OpenTest",
"preview": "Preview",
"production": "Production"
@@ -993,7 +993,7 @@
"footer": {
"motto": "Everything World of Tanks Blitz",
- "copyright": "Unaffiliated with Wargaming or any service",
+ "association": "An Open Collective Project",
"about": {
"title": "About",
diff --git a/packages/website/src/components/Beg/index.module.css b/packages/website/src/components/Beg/index.module.css
new file mode 100644
index 000000000..5bcfacd77
--- /dev/null
+++ b/packages/website/src/components/Beg/index.module.css
@@ -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);
+ }
+ }
+}
diff --git a/packages/website/src/components/Beg/index.tsx b/packages/website/src/components/Beg/index.tsx
new file mode 100644
index 000000000..7f905c616
--- /dev/null
+++ b/packages/website/src/components/Beg/index.tsx
@@ -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 (
+
+
+
+
+ We need your attention
+
+
+
+
+
+
+ We can no longer keep BlitzKit sustainable for free
+ .
+
+
+
+ We want to add tank modules, player statistics, rebalancing patch
+ notes, bring back the Discord bot, and more.
+
+
+
+ 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.
+
+
+
+
+ {donationTiers.map(({ name, value, link }) => (
+
+
+
+ ))}
+
+
+
+ );
+}
diff --git a/packages/website/src/components/Footer.astro b/packages/website/src/components/Footer.astro
index 4478dbb28..fb8d1d170 100644
--- a/packages/website/src/components/Footer.astro
+++ b/packages/website/src/components/Footer.astro
@@ -43,9 +43,9 @@ const strings = getStrings(locale);
}}
>
BlitzKit
- {strings.website.footer.motto}
-
- {strings.website.footer.copyright}
+ {strings.website.footer.motto}
+
+ {strings.website.footer.association}
diff --git a/packages/website/src/config/donations.ts b/packages/website/src/config/donations.ts
new file mode 100644
index 000000000..8b0d9c63d
--- /dev/null
+++ b/packages/website/src/config/donations.ts
@@ -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",
+ },
+];
diff --git a/packages/website/src/pages/[...chunk_default]/[...locale]/index.astro b/packages/website/src/pages/[...chunk_default]/[...locale]/index.astro
index 48e147252..1610cfc08 100644
--- a/packages/website/src/pages/[...chunk_default]/[...locale]/index.astro
+++ b/packages/website/src/pages/[...chunk_default]/[...locale]/index.astro
@@ -5,7 +5,7 @@ import locales from "@blitzkit/i18n/locales.json";
import { literals } from "@blitzkit/i18n/src/literals";
import { Box, Flex, Link } from "@radix-ui/themes";
import { AesonPlug } from "../../../components/AesonPlug";
-import { Countdown } from "../../../components/Countdown";
+import { Beg } from "../../../components/Beg";
import HomeHero from "../../../components/HomeHero.astro";
import { Plugs } from "../../../components/Plugs";
import ToolCard from "../../../components/ToolCard.astro";
@@ -66,7 +66,7 @@ export const getStaticPaths = mixStaticPaths(_getStaticPaths, () => {
-
+
{
locale !== locales.default && (