{#if room}
{error}
{/if} {#if phrase}On the other device, open the hall and claim this phrase within ten minutes: {phrase.phrase}
{/if} {#if room?.remote?.started && room.state.over && !watching} {@const r = room.remote}{#if r.rematch} {room.speaker(r.rematch.by)} called for a rematch at table {r.rematch.to}. Take your seat {:else} The same company sits down at a new table, with a seat held for everyone here. {/if}
{/if} {#if joining && seatFree}room {roomId}
A wizard has opened this table and is gathering opponents. Choose a name and sit down. The duel begins when the host says.
Just watching? You are in the Peanut Gallery until you sit.
{hostName} is gathering wizards. Sit down above, or watch from the gallery until the duel begins.
{:else}The table is full, so you watch from the Peanut Gallery. The duel begins when {hostName} says.
{/if} {:else}room {roomId}
Send this link, or the code. Whoever opens it takes a seat, up to a dozen, and the duel begins when you say. Anyone who arrives once it has begun watches from the Peanut Gallery.
{link}
This is a rematch of table {r.rematchOf}, with seats held for those not yet back.
{/if} {#if !watching}{r.keeper} keeps this site and answers every call, sometimes within the minute, sometimes after a night's sleep.{#if keeperHour} It is {keeperHour} where {r.keeper} lives.{/if} The seat is held either way.
{r.keeper} has been called to the table by {room.speaker(r.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 bot, invite a friend, or play another duel in a new tab. This table keeps its place in your hall until you come back.
{/if} {/if} {#if r.error}{r.error}
{/if}{joining ? 'Finding the table.' : 'Finding your seat.'}
{/if}