commit 4ac9196b7f79f74b45a4c4101f6e40441a23383d
parent 79f29880e3670d01bf68782679c8d8cc136b82ee
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 22:30:33 -0400
export, common: site-branding checks the server's data-accent; tone.ts names the three bases (brand S2 review)
The live data-accent is also written by ThemeProvider, so it cannot tell the server markup apart. The spec now reads the raw HTML of / (page.request.get) for <html data-accent="custom"> and the inline --accent-custom-light. tone.ts's header still spoke of four theme families × light/dark.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/common/views/pipeline/tone.ts b/common/views/pipeline/tone.ts
@@ -1,9 +1,9 @@
import type { StageTone } from "./stageStatus";
// The line invents no colours. Every value below is one of the semantic tokens
-// the repo already carries across four theme families × light/dark
-// (common/styles/tokens.css); a bespoke hue here would be wrong in eight
-// palettes at once.
+// the repo already carries across the three bases, light, sepia and dark
+// (common/styles/tokens.css); a bespoke hue here would be wrong on every base
+// at once.
export const STATION_DOT: Record<StageTone, string> = {
// A station with nothing to say is an outline, not a filled dot: "○" in the
diff --git a/export/e2e/site-branding.spec.ts b/export/e2e/site-branding.spec.ts
@@ -90,6 +90,11 @@ test("per-site accent is baked onto <html> as data-accent", async ({
// site.json sets the custom hex #cc3366: the layout renders
// data-accent="custom" plus the hex fitted to each base as inline
// --accent-custom-* vars at prerender, so it is right on first paint.
+ // The live attribute below is also written by ThemeProvider, so it cannot
+ // tell the server's markup apart; the raw HTML can.
+ const served = await (await page.request.get("/")).text();
+ expect(served).toMatch(/<html[^>]*\sdata-accent="custom"/);
+ expect(served).toMatch(/<html[^>]*--accent-custom-light:\s*#cc3366/);
const html = page.locator("html");
await expect(html).toHaveAttribute("data-accent", "custom");
await expect(html).toHaveAttribute("style", /--accent-custom-light:\s*#cc3366/);