UI: gesture & history polish — pinch/swipe fix, wider back-swipe, nudge align, history overscroll
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 45s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 2m10s

- Stop a two-finger pinch-out from also opening the history: the board wrapper arms its
  open/close pull only while a single pointer is down (a 2nd finger is a pinch, owned by Board).
- Widen the edge-swipe-back activation band to the left half of the viewport (was 20%).
- Align a chat nudge by sender like a bubble — your own to the right, the opponent's to the
  left (only the alignment changes).
- Kill the iOS rubber-band inside the history drawer (overscroll-behavior: none).

e2e: a two-finger pinch does not open the history; a back-swipe from the left half navigates back.
This commit is contained in:
Ilia Denisov
2026-06-11 21:01:43 +02:00
parent 6268b9d2a2
commit a41c35d5f9
5 changed files with 82 additions and 9 deletions
+7 -2
View File
@@ -42,7 +42,7 @@
{/if}
{#each messages as m (m.id)}
{#if m.kind === 'nudge'}
<div class="note">{t('chat.nudge')}</div>
<div class="note" class:mine={m.senderId === myId}>{t('chat.nudge')}</div>
{:else}
<div class="msg" class:mine={m.senderId === myId}>{m.body}</div>
{/if}
@@ -104,11 +104,16 @@
color: var(--accent-text);
}
.note {
align-self: center;
/* A nudge aligns by sender, like a chat bubble: the opponent's hurry-up reads from the
left, your own from the right — only the alignment changes, the muted italic stays. */
align-self: flex-start;
font-size: 0.82rem;
color: var(--text-muted);
font-style: italic;
}
.note.mine {
align-self: flex-end;
}
.input {
display: flex;
gap: 6px;