UI: render non-play history moves as a dim lowercase tag
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 40s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 58s

Per owner feedback: pass/exchange/resign/timeout rows in the move history now read
as a dim, parenthesised, lowercase tag — e.g. «(обмен)» — so they stand apart from a
scored word. The move.* catalog values are lowercased (resign RU → «сдаюсь»); the
parentheses and the muted colour (var(--text-muted)) are applied in the view via a
.ha.sys modifier.
This commit is contained in:
Ilia Denisov
2026-06-11 19:23:55 +02:00
parent ac29dca865
commit b14cc38919
4 changed files with 17 additions and 12 deletions
+6 -1
View File
@@ -750,7 +750,7 @@
{#each moves as m, i (i)}
<li>
<span class="hp">{view.game.seats[m.player]?.displayName ?? m.player}</span>
<span class="ha">{m.action === 'play' ? m.words.join(', ') : moveActionLabel(m.action)}</span>
<span class="ha" class:sys={m.action !== 'play'}>{m.action === 'play' ? m.words.join(', ') : `(${moveActionLabel(m.action)})`}</span>
<span class="hs">{m.score} <span class="ht">({m.total})</span></span>
</li>
{/each}
@@ -997,6 +997,11 @@
flex: 1;
text-align: center;
}
.ha.sys {
/* A non-scoring move (pass/exchange/resign/timeout): dimmer and parenthesised so it
reads as a system action rather than a scored word. */
color: var(--text-muted);
}
.hs {
font-variant-numeric: tabular-nums;
font-weight: 600;