The masthead wears its deploy stamp

A small yyyy.mm.dd.hh.mm mark beside the edition line, baked in at
build time — and the deploy builds moments before it ships, so the
stamp reads as deploy time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF
This commit is contained in:
Eric Wagoner
2026-08-25 14:34:06 -04:00
co-authored by Claude Fable 5
parent 154e00141c
commit b16bbe82a6
3 changed files with 26 additions and 0 deletions
+7
View File
@@ -1252,6 +1252,7 @@
<header class="masthead">
<span class="mast-title">Wiz-War</span>
<span class="mast-sub">sixth edition</span>
<span class="mast-version" title="deployed">{__BUILD_STAMP__}</span>
<button class="mast-leave" title="preferences" onclick={() => (prefsOpen = !prefsOpen)}> preferences</button>
{#if local.active}
<span class="mast-room">hotseat</span>
@@ -2448,6 +2449,12 @@
text-transform: uppercase;
color: #8d8672;
}
.mast-version {
font-family: "Courier Prime", monospace;
font-size: 0.65rem;
letter-spacing: 0.06em;
color: #6b6454;
}
.mast-room { margin-left: auto; font-size: 0.85rem; color: #a49c86; }
.mast-room b { color: #e9e1cb; letter-spacing: 0.12em; }
.mast-audience { font-size: 0.85rem; color: #a49c86; white-space: nowrap; }
+5
View File
@@ -0,0 +1,5 @@
/// <reference types="vite/client" />
/// <reference types="svelte" />
/** Build moment, yyyy.mm.dd.hh.mm — injected by vite.config.ts. */
declare const __BUILD_STAMP__: string;
+14
View File
@@ -1,6 +1,20 @@
import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
// Deploys build locally moments before rsync, so build time IS deploy time.
const now = new Date();
const pad = (n: number) => String(n).padStart(2, "0");
const stamp = [
now.getFullYear(),
pad(now.getMonth() + 1),
pad(now.getDate()),
pad(now.getHours()),
pad(now.getMinutes()),
].join(".");
export default defineConfig({
plugins: [svelte()],
define: {
__BUILD_STAMP__: JSON.stringify(stamp),
},
});