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");