diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index b022e2d..85dc6bd 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -81,6 +81,8 @@ let peekCreatureId = $state(null); /** The clicked token itself, enlarged beside its card. */ let peekToken = $state(null); + /** Ledger chest tapped: the treasure full-size, with whose and who-holds. */ + let peekTreasure = $state<{ src: string; note: string } | null>(null); /** Bare-knuckle demolition: click a wall to punch it. */ let punchWallMode = $state(false); /** Leafing through the face-up discard pile. */ @@ -1097,17 +1099,22 @@ {/if} - {#if peekCard || discardPeek} + {#if peekCard || discardPeek || peekTreasure}
{ peekCard = null; peekCreatureId = null; peekToken = null; discardPeek = null; }} onkeydown={() => {}}> + onclick={() => { peekCard = null; peekCreatureId = null; peekToken = null; discardPeek = null; peekTreasure = null; }} onkeydown={() => {}}>
- {#if peekCard && peekToken} - + {#if peekTreasure} + +
{peekTreasure.note}
+ {:else} + {#if peekCard && peekToken} + + {/if} +
+ (faqCardId = id)} /> +
+ {#if peekNote}
{peekNote}
{/if} {/if} -
- (faqCardId = id)} /> -
- {#if peekNote}
{peekNote}
{/if}
{/if} @@ -1606,9 +1613,10 @@ {p.life} - {p.handCount} cards{#if p.lostTurns > 0} · dazed {p.lostTurns}{/if}{#if p.carriedTreasureId}{@const ct = view.treasures.find((t) => t.id === p.carriedTreasureId)} · - carrying {ct?.owner ?? {/if} + {p.handCount} cards{#if p.lostTurns > 0} · dazed {p.lostTurns}{/if}{#if p.carriedTreasureId}{@const ct = view.treasures.find((t) => t.id === p.carriedTreasureId)}{@const chestSrc = `/tokens-svg/treasure-${colorIndexOf(view, ct?.owner ?? p.id) % 6}.svg`} · + {/if} {@const spellsOn = view.sustained.filter((e) => e.targetId === p.id)} @@ -2384,9 +2392,16 @@ .score-name { font-family: "Caveat", cursive; font-size: 1.25rem; line-height: 1; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .score-life { font-family: "Caveat", cursive; font-size: 1.4rem; font-weight: 700; min-width: 1.6rem; text-align: right; } .score-marks { font-size: 0.75rem; color: #6b5a41; } + .score-chest-btn { + background: none; + border: none; + padding: 0; + cursor: pointer; + vertical-align: -0.7em; + } .score-chest { height: 2.1em; - vertical-align: -0.7em; + display: block; filter: drop-shadow(0.5px 0.5px 0.5px rgba(0, 0, 0, 0.35)); } .deck-line {