Pages show the hall-wide notice, when there is one, at the top

The keeper's hall-announce writes one file on the shared host; the site
serves it at /hall/announcement.json, and the banner shows it with the time
in the reader's own clock, dismissable one notice at a time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-29 13:03:37 -04:00
co-authored by Claude Opus 5.5
parent 397c68a1c8
commit cbf897ff13
3 changed files with 129 additions and 0 deletions
+3
View File
@@ -1,4 +1,5 @@
import { mount } from "svelte";
import Announcement from "./Announcement.svelte";
import * as Sentry from "@sentry/browser";
// Errors only — no tracing, no replay. Without a DSN baked at build time
@@ -35,3 +36,5 @@ const page = location.pathname.startsWith("/watch/")
? import("./SharePage.svelte")
: import("./App.svelte");
page.then(({ default: Root }) => mount(Root, { target }));
// The hall-wide notice sits above the game, apart from it: every game of Kestrel's Hall shows the same one.
mount(Announcement, { target: document.body, anchor: document.body.firstChild ?? undefined });