Ревью тостов (#41) #55

Merged
NotBigGhost merged 1 commits from issue-41-toast-review into dev 2026-09-13 15:58:17 +03:00
Collaborator

Что сделано

Правило ревью: тост лишний, если результат действия и так виден на экране — значение изменилось, элемент появился или исчез, форма закрылась, произошёл переход. Скилы в задаче не названы, поэтому ревью ручное.

Убрано 19 тостов:

  • профиль: любимая фракция, аватар (загрузка и удаление), никнейм, привязка Telegram;
  • группы: «Группа создана», «Приглашение отклонено»;
  • партии: «Партия начата», «Партия завершена», «Партия обновлена» (и у игрока, и в админке);
  • админка: ник, вкл./откл. аккаунта, ачивки (создание, сохранение, иконка, удаление), удаление записи, dev-удаление аккаунта.

Оставлено:

  • все ошибки;
  • предупреждения: лимит фото, «фракций меньше, чем игроков», «партия изменилась на другом устройстве», «вы не в группе»;
  • действия без видимого следа: «Приглашение отправлено», «Дополнения сохранены», «Вы вступили в группу»;
  • «Партия отменена / удалена» — после неё вас уводят на страницу группы;
  • пароли: «Пароль изменён / задан», «Пароль задан — сообщите его игроку»;
  • сохранение текстовых полей, где заметна только погасшая кнопка: «О себе», название группы, название фракции.

По просьбе владельца оставшиеся тосты теперь всплывают сверху, как уведомления приложения.

  • ToastProvider держит одну стопку карточек на всё приложение:
    • show — обычное сообщение, 3 с;
    • error — ошибка с красной полосой, 5 с;
    • notify — входящее уведомление с переходом по клику, 5 с.
  • В стопке не больше 4 карточек. Одинаковое сообщение заменяет прежнее, клик закрывает карточку. Контейнер с aria-live="polite".
  • NotificationToaster больше не рисует свою стопку, а передаёт новые уведомления в общую, так что они не наезжают на сообщения. Сервер автору о его же действиях уведомлений не шлёт, дублей нет.
  • Все вызовы с ApiError, лимит фото и конфликт правок переведены на toast.error: 32 места. Нижний класс .toast удалён.

Коммиты

  • 3587fc8 Тосты: убрать лишние, остальные показывать как уведомления сверху

Проверки

  • npm run build (tsc + vite) — зелёный.
  • toast.show было 63, стало 12, плюс 32 toast.error: убрано ровно 19.
  • Не проверено вживую: расширение Chrome не подключено, скриншотов нет. Стоит глянуть на телефоне, что стопка сверху не перекрывает важное в шапке. Она стоит там же, где раньше стояли уведомления.

Отклонения от плана

  • Во время работы владелец расширил задачу: оставшиеся тосты показывать как всплывашки уведомлений. Сделано, вариант выбран вместе с ним.
  • В плане было «20 тостов»: я ошибся в подсчёте, по той же таблице их 19.
  • Один коммит вместо «чистки» и «переделки» по отдельности: обе правки проходят по одним и тем же строкам.

Closes #41

🤖 Generated with Claude Code

https://claude.ai/code/session_01XfTsytzT6TojfmprRDKiV6

## Что сделано **Правило ревью:** тост лишний, если результат действия и так виден на экране — значение изменилось, элемент появился или исчез, форма закрылась, произошёл переход. Скилы в задаче не названы, поэтому ревью ручное. **Убрано 19 тостов:** - **профиль:** любимая фракция, аватар (загрузка и удаление), никнейм, привязка Telegram; - **группы:** «Группа создана», «Приглашение отклонено»; - **партии:** «Партия начата», «Партия завершена», «Партия обновлена» (и у игрока, и в админке); - **админка:** ник, вкл./откл. аккаунта, ачивки (создание, сохранение, иконка, удаление), удаление записи, dev-удаление аккаунта. **Оставлено:** - все ошибки; - предупреждения: лимит фото, «фракций меньше, чем игроков», «партия изменилась на другом устройстве», «вы не в группе»; - действия без видимого следа: «Приглашение отправлено», «Дополнения сохранены», «Вы вступили в группу»; - «Партия отменена / удалена» — после неё вас уводят на страницу группы; - пароли: «Пароль изменён / задан», «Пароль задан — сообщите его игроку»; - сохранение текстовых полей, где заметна только погасшая кнопка: «О себе», название группы, название фракции. **По просьбе владельца оставшиеся тосты теперь всплывают сверху, как уведомления приложения.** - `ToastProvider` держит одну стопку карточек на всё приложение: - `show` — обычное сообщение, 3 с; - `error` — ошибка с красной полосой, 5 с; - `notify` — входящее уведомление с переходом по клику, 5 с. - В стопке не больше 4 карточек. Одинаковое сообщение заменяет прежнее, клик закрывает карточку. Контейнер с `aria-live="polite"`. - `NotificationToaster` больше не рисует свою стопку, а передаёт новые уведомления в общую, так что они не наезжают на сообщения. Сервер автору о его же действиях уведомлений не шлёт, дублей нет. - Все вызовы с `ApiError`, лимит фото и конфликт правок переведены на `toast.error`: 32 места. Нижний класс `.toast` удалён. ## Коммиты - `3587fc8` Тосты: убрать лишние, остальные показывать как уведомления сверху ## Проверки - `npm run build` (tsc + vite) — зелёный. - `toast.show` было 63, стало 12, плюс 32 `toast.error`: убрано ровно 19. - **Не проверено вживую:** расширение Chrome не подключено, скриншотов нет. Стоит глянуть на телефоне, что стопка сверху не перекрывает важное в шапке. Она стоит там же, где раньше стояли уведомления. ## Отклонения от плана - Во время работы владелец расширил задачу: оставшиеся тосты показывать как всплывашки уведомлений. Сделано, вариант выбран вместе с ним. - В плане было «20 тостов»: я ошибся в подсчёте, по той же таблице их 19. - Один коммит вместо «чистки» и «переделки» по отдельности: обе правки проходят по одним и тем же строкам. Closes #41 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XfTsytzT6TojfmprRDKiV6
Agent added 1 commit 2026-09-13 15:46:03 +03:00
Многие тосты повторяли то, что пользователь и так видит сразу после действия:
новую фракцию или аватар в профиле, переход на страницу партии, исчезнувшую
карточку приглашения, закрывшийся редактор. Такой шум приучает не читать
всплывашки, в том числе ошибки. Убраны 19 таких тостов в профиле, группах,
партиях и админке.

Остались ошибки, предупреждения (лимит фото, повторы фракций, конфликт правок,
«вы не в группе») и сообщения о действиях без видимого следа: приглашение
отправлено, дополнения сохранены, вступление в группу, пароль задан. Сохранение
текстового поля, где заметна только погасшая кнопка, тоже осталось.

По просьбе владельца оставшиеся тосты показываются не нижней «таблеткой», а
всплывашкой сверху, как входящие уведомления. ToastProvider держит одну стопку
на всё приложение: show — обычное сообщение, error — ошибка с красной полосой
(держится 5 с), notify — уведомление с переходом по клику. Одинаковое сообщение
не копится, а заменяет прежнее; клик по карточке закрывает её.
NotificationToaster больше не рисует свою стопку, а отдаёт новые уведомления в
общую, поэтому они не наезжают на сообщения. Все вызовы с ApiError и отказы
(лимит фото, партия изменилась на другом устройстве) переведены на toast.error.
Нижний класс .toast удалён.

#41

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XfTsytzT6TojfmprRDKiV6
NotBigGhost merged commit d84cef2491 into dev 2026-09-13 15:58:17 +03:00
NotBigGhost deleted branch issue-41-toast-review 2026-09-13 15:58:17 +03:00
Sign in to join this conversation.