Правило ревью: тост лишний, если результат действия и так виден на экране — значение изменилось, элемент появился или исчез, форма закрылась, произошёл переход. Скилы в задаче не названы, поэтому ревью ручное.
Убрано 19 тостов:
профиль: любимая фракция, аватар (загрузка и удаление), никнейм, привязка Telegram;
сохранение текстовых полей, где заметна только погасшая кнопка: «О себе», название группы, название фракции.
По просьбе владельца оставшиеся тосты теперь всплывают сверху, как уведомления приложения.
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.
Один коммит вместо «чистки» и «переделки» по отдельности: обе правки проходят по одним и тем же строкам.
## Что сделано
**Правило ревью:** тост лишний, если результат действия и так виден на экране — значение изменилось, элемент появился или исчез, форма закрылась, произошёл переход. Скилы в задаче не названы, поэтому ревью ручное.
**Убрано 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
Многие тосты повторяли то, что пользователь и так видит сразу после действия:
новую фракцию или аватар в профиле, переход на страницу партии, исчезнувшую
карточку приглашения, закрывшийся редактор. Такой шум приучает не читать
всплывашки, в том числе ошибки. Убраны 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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что сделано
Правило ревью: тост лишний, если результат действия и так виден на экране — значение изменилось, элемент появился или исчез, форма закрылась, произошёл переход. Скилы в задаче не названы, поэтому ревью ручное.
Убрано 19 тостов:
Оставлено:
По просьбе владельца оставшиеся тосты теперь всплывают сверху, как уведомления приложения.
ToastProviderдержит одну стопку карточек на всё приложение:show— обычное сообщение, 3 с;error— ошибка с красной полосой, 5 с;notify— входящее уведомление с переходом по клику, 5 с.aria-live="polite".NotificationToasterбольше не рисует свою стопку, а передаёт новые уведомления в общую, так что они не наезжают на сообщения. Сервер автору о его же действиях уведомлений не шлёт, дублей нет.ApiError, лимит фото и конфликт правок переведены наtoast.error: 32 места. Нижний класс.toastудалён.Коммиты
3587fc8Тосты: убрать лишние, остальные показывать как уведомления сверхуПроверки
npm run build(tsc + vite) — зелёный.toast.showбыло 63, стало 12, плюс 32toast.error: убрано ровно 19.Отклонения от плана
Closes #41
🤖 Generated with Claude Code
https://claude.ai/code/session_01XfTsytzT6TojfmprRDKiV6