feat(ui): тост «Ваш ход» называет предыдущего игрока #62

Merged
developer merged 1 commits from feature/your-turn-toast-opponent-name into development 2026-06-14 20:57:19 +00:00
Owner

Внутриигровой тост, который всплывает внизу, когда в другой партии настал твой черёд, теперь читается как «<Соперник>: Ваш ход!» — называет того, кто сходил прямо перед тобой (предыдущее место в порядке ходов), поэтому одинаково работает на партиях с любым числом игроков.

YourTurnEvent уже несёт opponent_name сквозь весь тракт: бэкенд проставляет его (game.displayName последнего сходившего), а шлюз передаёт payload как есть. Поэтому правка чисто клиентская — раскодировать поле, протащить через PushEvent и подставить локализованную строку. Если имени нет (старый клиент или пропуск события), показывается прежний короткий текст «Ваш ход».

Покрытие: юнит-тесты на декод your_turn (с именем и пустым) и на интерполяцию game.yourTurnBy в обеих локалях; визуально проверила в mock-режиме — тост в лобби показал «Ann: Your turn!». Доки про текст этого тоста ничего не утверждают (текущий текст описан только для out-of-app пуша), поэтому правок в docs не требуется.

Локально зелёные: pnpm check (0), pnpm test:unit (210), pnpm build, pnpm test:e2e (128).

Внутриигровой тост, который всплывает внизу, когда в **другой** партии настал твой черёд, теперь читается как «<Соперник>: Ваш ход!» — называет того, кто сходил прямо перед тобой (предыдущее место в порядке ходов), поэтому одинаково работает на партиях с любым числом игроков. `YourTurnEvent` уже несёт `opponent_name` сквозь весь тракт: бэкенд проставляет его (`game.displayName` последнего сходившего), а шлюз передаёт payload как есть. Поэтому правка чисто клиентская — раскодировать поле, протащить через `PushEvent` и подставить локализованную строку. Если имени нет (старый клиент или пропуск события), показывается прежний короткий текст «Ваш ход». Покрытие: юнит-тесты на декод `your_turn` (с именем и пустым) и на интерполяцию `game.yourTurnBy` в обеих локалях; визуально проверила в mock-режиме — тост в лобби показал «Ann: Your turn!». Доки про текст этого тоста ничего не утверждают (текущий текст описан только для out-of-app пуша), поэтому правок в docs не требуется. Локально зелёные: `pnpm check` (0), `pnpm test:unit` (210), `pnpm build`, `pnpm test:e2e` (128).
developer added 1 commit 2026-06-14 20:52:36 +00:00
feat(ui): name the previous player in the your-turn toast
CI / changes (pull_request) Successful in 1s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 46s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 58s
ac62d29ef7
The in-app "your turn" toast (shown when it becomes your turn in another
game) now reads "<Opponent>: Your turn!", naming the player who moved just
before this one — the previous seat in turn order, so it reads the same in
games with any number of players. Falls back to the bare "Your turn" label
when no name is present (an older peer, or a gap event without one).

YourTurnEvent already carries opponent_name end to end: the backend sets it
(game.displayName of the last mover) and the gateway forwards the payload
opaquely, so this is a client-only change — decode the field, thread it
through PushEvent, and pick the localized string.
owner approved these changes 2026-06-14 20:54:09 +00:00
developer merged commit d3bedbb5b6 into development 2026-06-14 20:57:19 +00:00
developer deleted branch feature/your-turn-toast-opponent-name 2026-06-14 20:57:19 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-game#62