The family list of the Kestrel's Nest, shipped as /family.json and refreshed from the kit at deploy

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-23 12:27:16 -04:00
co-authored by Claude Fable 5.1
parent b9e820c4f5
commit 5b169d7131
3 changed files with 48 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
// The other games of the Kestrel's Nest, from the family list the kit keeps
// (family.json, one copy shipped with every game), so a player who liked one
// table can find the next. This game is left out of its own list.
export interface FamilyGame {
slug: string;
name: string;
url: string;
pitch: string;
players: string;
origin: string;
}
export async function otherGames(self: string): Promise<FamilyGame[]> {
try {
const res = await fetch('/family.json', { cache: 'no-cache' });
if (!res.ok) return [];
const data = (await res.json()) as { games?: FamilyGame[] };
return (data.games ?? []).filter((g) => g.slug !== self);
} catch {
return [];
}
}