A table whose server names no keeper offers to challenge the keeper, not the keeper, the keeper
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx
This commit is contained in:
1 parent
cb62855ec0
commit
0cfa08a9f3
1 file changed
+5
-3
@@ -11,6 +11,8 @@
|
|||||||
let beginAsked = $state(false);
|
let beginAsked = $state(false);
|
||||||
const hostName = $derived(v.seats.find((s) => s.id === v.host)?.name ?? 'the host');
|
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()));
|
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.
|
// 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);
|
const choices = $derived(game.rankable?.(v.options) ?? null);
|
||||||
@@ -134,11 +136,11 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{#if v.keeper && !v.challenge && !keeperSeated && room.seatUnheld}
|
{#if v.keeper && !v.challenge && !keeperSeated && room.seatUnheld}
|
||||||
<div class="keeper">
|
<div class="keeper">
|
||||||
<button type="button" class="quiet" title="A seat is held for {v.keeper}, who keeps this site, and their phone rings" onclick={() => room.callKeeper()}>Challenge {v.keeper}, the keeper</button>
|
<button type="button" class="quiet" title="A seat is held for {v.keeper}, who keeps this site, and their phone rings" onclick={() => room.callKeeper()}>Challenge {named ? `${v.keeper}, the keeper` : 'the keeper'}</button>
|
||||||
<p class="muted small note">{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.</p>
|
<p class="muted small note">{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.</p>
|
||||||
</div>
|
</div>
|
||||||
{:else if v.challenge}
|
{:else if v.challenge}
|
||||||
<p class="muted small note">{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.</p>
|
<p class="muted small note">{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.</p>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{#if room.error}<p class="warning">{room.error}</p>{/if}
|
{#if room.error}<p class="warning">{room.error}</p>{/if}
|
||||||
|
|||||||
Reference in new issue
Block a user