Commit Graph
11 Commits
Author SHA1 Message Date
NotBigGhostandClaude Opus 5 3587fc8af2 Тосты: убрать лишние, остальные показывать как уведомления сверху
Многие тосты повторяли то, что пользователь и так видит сразу после действия:
новую фракцию или аватар в профиле, переход на страницу партии, исчезнувшую
карточку приглашения, закрывшийся редактор. Такой шум приучает не читать
всплывашки, в том числе ошибки. Убраны 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
2026-09-13 15:45:34 +03:00
NotBigGhostandClaude Opus 5 1790e195e0 Группа: не дублировать название группы в блоке текущей игры
На главной партии приходят из разных групп, поэтому название нужно; на
странице самой группы оно повторяет заголовок страницы. Блок получил
проп showGroupName (по умолчанию true) — главная не меняется.

#2

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps52xzuUXnWrJ5SRnEeaLk
2026-09-07 16:35:10 +03:00
NotBigGhostandClaude Opus 5 b3e4f71bda Группа: текущая игра — тем же блоком, что на главной
На странице группы идущая партия лежала в общем списке «Партии» и
отличалась от завершённых только бейджем «идёт». Теперь она выносится
блоком InProgressMatches — тем же компонентом, что на главной.

MatchListItem уже содержит всё, что нужно HomeInProgressMatch (started_at,
player_count и тот же MatchListParticipant), поэтому бэкенд не тронут:
недостающие group_id и group_name берутся из useMe/useGroup. Из списка
«Партии» идущие партии исключены, иначе одна партия показывалась бы
на странице дважды.

#2

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps52xzuUXnWrJ5SRnEeaLk
2026-09-07 16:02:36 +03:00
NotBigGhost 1dbff7ae58 Сокращена надпись-подсказка в поле ввода ника приглашаемого в группу игрока 2026-07-18 03:42:30 +03:00
NotBigGhostandClaude Fable 5 8a2b53d0b2 UI: доводка выпадашек игроков — без пустых вариантов, фон как у select, быстрее отклик
Из списков убраны варианты-плейсхолдеры («— игрок —» в выборе игрока,
«— фракция —» в выборе фракции — disabled+hidden, в закрытом виде текст
остаётся). Фон .suggest-list — surface-2, как у input/select; hover строк —
--border. Скорость: дебаунс поиска 250→100 мс, в инвайте показанный список
дофильтровывается по вводу на клиенте, не дожидаясь ответа сервера;
touch-action: manipulation на строках и триггере.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 03:13:05 +03:00
NotBigGhostandClaude Fable 5 ddbcd74058 UI: подсказки ников при приглашении игрока в группу
При вводе в поле приглашения («Список игроков») под инпутом всплывают
до 3 подходящих игроков — аватар + ник, в стилистике строк топов.
Клик подставляет ник в поле (приглашение отправляется кнопкой/Enter),
уже состоящие в группе не предлагаются.

Детали: компонент PlayerSuggestions (выбор по mousedown — до blur
инпута), хук useUserSearch с дебаунсом 250 мс и keepPreviousData,
классы .suggest-* в духе .notif-panel/.lb-row. В поиске общего списка
подсказки не нужны — таблица уже фильтруется вживую при вводе.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 02:30:55 +03:00
NotBigGhostandClaude Fable 5 378094c366 UI: приглашение игрока перенесено из настроек в «Список игроков»
Карточка «Статистика игроков» на странице группы переименована в
«Список игроков», под списком — поле приглашения по нику (с проверкой
максимума участников и отправкой по Enter). В настройках группы остался
только состав с удалением участников.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:17:47 +03:00
NotBigGhostandClaude Fable 5 002c657855 UI: даты игр в едином формате ДД.ММ.ГГГГ вместо сырых ISO-строк
Новый formatDate в domain/format.ts для date-only строк (played_at,
last_match_at). Применён: список партий, заголовок страницы партии
(раньше там было «2026-07-13»), записи в админке, «последняя партия»
на странице группы.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 17:42:05 +03:00
NotBigGhostandClaude Opus 4.8 87c7f48a3e Группы: статистика игроков — все участники (несыгравшие отдельным блоком), строка кликабельна целиком
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 20:11:32 +03:00
NotBigGhostandClaude Opus 4.8 a5c54512a5 Группы: приглашения вместо авто-добавления (согласиться/отказаться)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 20:07:20 +03:00
NotBigGhost 56b5d09a4d v0.1 - макет интерфейса, аутентификация через логин, аккаунт админа, создание партии в 2 этапа, базовые настройки профиля и группы, переключение между группами, статистика 2026-06-16 17:41:06 +03:00