feat(colophon): thank Game-Time-Master for the reset clocks
Every server's reset hour and offset was checked against it, so it is credited beside the schedules' sources. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
be5089fca6
commit
84ea00c059
@@ -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."}
|
||||
</p>
|
||||
<p className="mt-2">
|
||||
To{" "}
|
||||
<a
|
||||
href={RESET_CLOCK_CREDIT.url}
|
||||
target="_blank"
|
||||
rel="noreferrer noopener"
|
||||
className={LINK}
|
||||
>
|
||||
{RESET_CLOCK_CREDIT.name}
|
||||
</a>
|
||||
, whose per-server reset times set every daily clock here.
|
||||
</p>
|
||||
<p className="mt-2">
|
||||
And to{" "}
|
||||
{studios.map((studio, i) => (
|
||||
|
||||
+12
-1
@@ -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(<Colophon sources={[fresh]} now={NOW} />);
|
||||
expect(html).toContain(RESET_CLOCK_CREDIT.url);
|
||||
expect(html).toContain(RESET_CLOCK_CREDIT.name);
|
||||
const credit = html.indexOf(RESET_CLOCK_CREDIT.url);
|
||||
expect(credit).toBeGreaterThan(html.indexOf("With thanks to"));
|
||||
expect(credit).toBeLessThan(html.indexOf("Not affiliated"));
|
||||
});
|
||||
});
|
||||
|
||||
describe("stating a repeat", () => {
|
||||
|
||||
Reference in New Issue
Block a user