From 56ca4dcc612e6e4ad599d101199fc96dc790db28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com>
Date: Fri, 19 Dec 2025 22:23:03 -0600
Subject: [PATCH] feat: more accents
---
packages/website-ue/astro.config.ts | 3 +-
.../website-ue/src/components/HomeHero.astro | 6 +++
.../src/components/TextField/index.css | 8 ++++
.../src/components/TextField/index.tsx | 6 +++
.../website-ue/src/layouts/BaseLayout.astro | 46 ++++++++++++++++++-
packages/website-ue/src/pages/api/index.astro | 3 +-
packages/website-ue/src/pages/index.astro | 11 +++--
.../src/pages/styles/colors/[accent].css.ts | 35 ++++++++++++++
.../src/pages/tanks/[slug]/index.astro | 3 +-
.../website-ue/src/pages/tanks/index.astro | 3 +-
packages/website/astro.config.ts | 2 +-
11 files changed, 114 insertions(+), 12 deletions(-)
create mode 100644 packages/website-ue/src/components/TextField/index.css
create mode 100644 packages/website-ue/src/components/TextField/index.tsx
create mode 100644 packages/website-ue/src/pages/styles/colors/[accent].css.ts
diff --git a/packages/website-ue/astro.config.ts b/packages/website-ue/astro.config.ts
index 00da3e908..9f5d73bf2 100644
--- a/packages/website-ue/astro.config.ts
+++ b/packages/website-ue/astro.config.ts
@@ -22,6 +22,7 @@ export default defineConfig({
vite: {
server: { allowedHosts: [] },
+
esbuild: {
minifyIdentifiers: true,
minifySyntax: false,
@@ -67,7 +68,7 @@ export default defineConfig({
(strings) => strings.website.tools[stringId].name
),
url: `/${tool.id}`,
- icon: `public/assets/images/tools/${tool.id}.webp`,
+ icon: `public/assets/tools/${tool.id}.webp`,
};
}),
diff --git a/packages/website-ue/src/components/HomeHero.astro b/packages/website-ue/src/components/HomeHero.astro
index a7bce3abd..f82f6929f 100644
--- a/packages/website-ue/src/components/HomeHero.astro
+++ b/packages/website-ue/src/components/HomeHero.astro
@@ -1,5 +1,6 @@
---
import "@fontsource-variable/roboto-flex/wdth.css";
+import { TextField } from "./TextField";
---
diff --git a/packages/website-ue/src/pages/api/index.astro b/packages/website-ue/src/pages/api/index.astro
index 028ea78f7..e3ed04e42 100644
--- a/packages/website-ue/src/pages/api/index.astro
+++ b/packages/website-ue/src/pages/api/index.astro
@@ -1,4 +1,5 @@
---
+import "@radix-ui/colors/amber-dark.css";
import {
createProgram,
displayPartsToString,
@@ -43,7 +44,7 @@ for (const fullPath in globbed) {
paths.sort((a, b) => a.path.localeCompare(b.path));
---
-
+
api
{
diff --git a/packages/website-ue/src/pages/index.astro b/packages/website-ue/src/pages/index.astro
index 7870ff3a4..9292c7558 100644
--- a/packages/website-ue/src/pages/index.astro
+++ b/packages/website-ue/src/pages/index.astro
@@ -1,14 +1,15 @@
---
-import HomeHero from "../components/HomeHero.astro";
+import "@radix-ui/colors/amber-dark.css";
+import packageJson from "../../../../package.json";
import BaseLayout from "../layouts/BaseLayout.astro";
---
-
-
+
+
-
+ /api
diff --git a/packages/website-ue/src/pages/styles/colors/[accent].css.ts b/packages/website-ue/src/pages/styles/colors/[accent].css.ts
new file mode 100644
index 000000000..d95e23120
--- /dev/null
+++ b/packages/website-ue/src/pages/styles/colors/[accent].css.ts
@@ -0,0 +1,35 @@
+import * as colors from "@radix-ui/colors";
+import type { APIContext, GetStaticPaths } from "astro";
+
+const ignoreEndings = ["A", "P3", "Dark", "DarkA", "DarkP3"] as const;
+
+const filtered = Object.keys(colors).filter(
+ (name) =>
+ !ignoreEndings.some((ending) => name.endsWith(ending)) &&
+ name !== "__esModule"
+);
+
+export const getStaticPaths = (() => {
+ return filtered.map((accent) => ({
+ params: { accent },
+ }));
+}) satisfies GetStaticPaths;
+
+export type Color = Exclude<
+ keyof typeof colors,
+ `${string}${(typeof ignoreEndings)[number]}` | "__esModule"
+>;
+
+export async function GET({ params }: APIContext<{}, { accent: Color }>) {
+ const palette = colors[`${params.accent}Dark`];
+ let content = ":root{";
+
+ for (const key in palette) {
+ const dashedKey = key.replace(/([a-zA-Z])(\d+)/, "$1-$2");
+ content += `--${dashedKey}:${palette[key as keyof typeof palette]};`;
+ }
+
+ content += "}";
+
+ return new Response(content);
+}
diff --git a/packages/website-ue/src/pages/tanks/[slug]/index.astro b/packages/website-ue/src/pages/tanks/[slug]/index.astro
index a9734d7fb..3b6cea110 100644
--- a/packages/website-ue/src/pages/tanks/[slug]/index.astro
+++ b/packages/website-ue/src/pages/tanks/[slug]/index.astro
@@ -1,4 +1,5 @@
---
+import "@radix-ui/colors/violet-dark.css";
import type { GetStaticPaths } from "astro";
import { api } from "../../../core/api/dynamic";
import BaseLayout from "../../../layouts/BaseLayout.astro";
@@ -16,6 +17,6 @@ export const getStaticPaths = (async () => {
const { id } = Astro.props;
---
-
+
diff --git a/packages/website-ue/src/pages/tanks/index.astro b/packages/website-ue/src/pages/tanks/index.astro
index 6419af597..f7706b2af 100644
--- a/packages/website-ue/src/pages/tanks/index.astro
+++ b/packages/website-ue/src/pages/tanks/index.astro
@@ -1,11 +1,12 @@
---
+import "@radix-ui/colors/violet-dark.css";
import { api } from "../../core/api/dynamic";
import BaseLayout from "../../layouts/BaseLayout.astro";
const tanksList = await api.tanks();
---
-
+
tanks
{
diff --git a/packages/website/astro.config.ts b/packages/website/astro.config.ts
index 07c0b288d..aaf08b1d2 100644
--- a/packages/website/astro.config.ts
+++ b/packages/website/astro.config.ts
@@ -12,7 +12,7 @@ import { tools } from "./src/constants/tools";
const POSSIBLE_TARGETS = ["app", "web"];
-const target = process.env.PUBLIC_TARGET ;
+const target = process.env.PUBLIC_TARGET;
if (!target || !POSSIBLE_TARGETS.includes(target)) {
throw new Error("Invalid target");