diff --git a/src/client/components/Colophon.tsx b/src/client/components/Colophon.tsx index 4a4416e..275dc11 100644 --- a/src/client/components/Colophon.tsx +++ b/src/client/components/Colophon.tsx @@ -83,6 +83,20 @@ export const IDEA_CREDITS = [ }, ] as const; +/** + * Where the daily reset clocks come from. + * + * Every game's reset hour and server offset in `games.ts` was checked against + * Game-Time-Master, which keeps a zone and a reset time for each server of each + * game. The values are transcribed facts, not its code — it is GPL-3.0 and + * nothing of it ships here — so this is thanks, beside the schedules' sources, + * rather than a NOTICE entry. + */ +export const RESET_CLOCK_CREDIT = { + name: "Game-Time-Master", + url: "https://github.com/cicerakes/Game-Time-Master", +} as const; + /** * How many lagging games to name before summarising the rest. * @@ -375,6 +389,18 @@ export function Colophon({ ))} {", whose editors compile and maintain the event calendars this reads from. The schedules are their work; this page only rearranges them."}
++ To{" "} + + {RESET_CLOCK_CREDIT.name} + + , whose per-server reset times set every daily clock here. +
And to{" "}
{studios.map((studio, i) => (
diff --git a/test/custom-ui.test.tsx b/test/custom-ui.test.tsx
index 4a4ad99..187e32f 100644
--- a/test/custom-ui.test.tsx
+++ b/test/custom-ui.test.tsx
@@ -12,7 +12,7 @@ import {
import { eventCaption, YourOwn } from "../src/client/components/YourOwn.tsx";
import { EventRow } from "../src/client/components/EventRow.tsx";
import { EventDetail } from "../src/client/components/EventDetail.tsx";
-import { AUTHOR, Colophon, REPO_URL } from "../src/client/components/Colophon.tsx";
+import { AUTHOR, Colophon, REPO_URL, RESET_CLOCK_CREDIT } from "../src/client/components/Colophon.tsx";
import { GameMetaProvider } from "../src/client/state/gameMeta.tsx";
import {
asDisplayEvent,
@@ -502,6 +502,17 @@ describe("Colophon freshness notice (PRD F7)", () => {
// muted class as its neighbours, and no ask anywhere in the footer.
expect(html).not.toMatch(/support me|buy me|donate|tip jar/i);
});
+
+ test("thanks Game-Time-Master for the reset clocks, beside the sources", () => {
+ // Every daily reset the app counts down to was checked against it, so it is
+ // credited where the schedules' sources are rather than among the ideas.
+ const html = renderToStaticMarkup(