From 0cfa08a9f33be4d393979720c47f7f2418e507e8 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Mon, 26 Oct 2026 17:20:02 -0400 Subject: [PATCH] A table whose server names no keeper offers to challenge the keeper, not the keeper, the keeper Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx --- src/lib/components/Lobby.svelte | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/components/Lobby.svelte b/src/lib/components/Lobby.svelte index 42bae4c..e4993f3 100644 --- a/src/lib/components/Lobby.svelte +++ b/src/lib/components/Lobby.svelte @@ -11,6 +11,8 @@ let beginAsked = $state(false); const hostName = $derived(v.seats.find((s) => s.id === v.host)?.name ?? 'the host'); const keeperSeated = $derived(v.seats.some((s) => s.name.toLowerCase() === v.keeper.toLowerCase())); + /** A server with no KEEPER set calls its keeper "the keeper", which reads badly beside the title. */ + const named = $derived(v.keeper.toLowerCase() !== 'the keeper'); // A table that asks for rankings: this seat's, best first, kept on the server as it changes. const choices = $derived(game.rankable?.(v.options) ?? null); @@ -134,11 +136,11 @@ {/if} {#if v.keeper && !v.challenge && !keeperSeated && room.seatUnheld}
- -

{v.keeper} keeps this site and answers every call, sometimes within the minute, sometimes after a night's sleep.{#if keeperHour} It is {keeperHour} where {v.keeper} lives.{/if} The seat is held either way.

+ +

{named ? v.keeper : 'The keeper'} keeps this site and answers every call, sometimes within the minute, sometimes after a night's sleep.{#if keeperHour} It is {keeperHour} where {named ? v.keeper : 'the keeper'} lives.{/if} The seat is held either way.

{:else if v.challenge} -

{v.keeper} has been called to the table by {room.nameOf(v.challenge.by)}.{#if keeperHour} It is {keeperHour} there.{/if} A seat is held for them. If they can come now, they will take it. If they are asleep or away, they will leave a word below when they can. In the meantime you can seat a drake, invite a friend, or play another game in a new tab. This table keeps its place in your hall until you come back.

+

{named ? v.keeper : 'The keeper'} has been called to the table by {room.nameOf(v.challenge.by)}.{#if keeperHour} It is {keeperHour} there.{/if} A seat is held for them. If they can come now, they will take it. If they are asleep or away, they will leave a word below when they can. In the meantime you can seat a drake, invite a friend, or play another game in a new tab. This table keeps its place in your hall until you come back.

{/if} {/if} {#if room.error}

{room.error}

{/if}