Изменить отображение текущей игры во вкладке группы (#2) #19

Merged
NotBigGhost merged 2 commits from issue-2-group-current-match into dev 2026-09-07 19:03:24 +03:00
Collaborator

Что сделано

На странице группы идущая партия лежала в общем списке «Партии» и отличалась от завершённых только бейджем «идёт». Теперь она выносится наверх блоком InProgressMatches — тем же компонентом, что на главной: выделенная рамка, заголовок «Незавершённые партии», время начала, число игроков, ники строкой и кнопка «Завершить →». Из списка «Партии» идущие партии исключены, иначе одна и та же партия показывалась бы на странице дважды.

По результату ревью блок на странице группы не показывает название группы — оно повторяло заголовок страницы. Для этого у компонента появился проп showGroupName со значением по умолчанию true: на главной, где партии приходят из разных групп, название по-прежнему нужно и ничего не изменилось.

Бэкенд не тронут. MatchListItem, который отдаёт /api/groups/{id}/matches, уже содержит всё, что требует HomeInProgressMatch — started_at, player_count и тот же самый тип MatchListParticipant в participants; недостающие group_id и group_name берутся из useMe() и useGroup(). Эндпойнты не менялись, npm run gen:api не понадобился, миграций нет.

Коммиты

  • b3e4f71 Группа: текущая игра — тем же блоком, что на главной
  • 1790e19 Группа: не дублировать название группы в блоке текущей игры

Проверки

  • npm run build (tsc --noEmit && vite build) — зелёный на обоих коммитах; типы сошлись структурно, приведений не потребовалось
  • pytest (backend) — 65 passed (бэкенд не затрагивался, прогнан для полноты)
  • Визуальная проверка на dev-стенде — не выполнена: стенд остановлен, расширение Claude in Chrome к сессии не подключено

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

План предполагал переиспользовать компонент строго 1:1, без новых пропов, и отдельно отмечал дублирование названия группы как то, что может не понравиться. Так и вышло — по вашему замечанию добавлен showGroupName. Это единственное отступление.

Closes #2

## Что сделано На странице группы идущая партия лежала в общем списке «Партии» и отличалась от завершённых только бейджем «идёт». Теперь она выносится наверх блоком `InProgressMatches` — тем же компонентом, что на главной: выделенная рамка, заголовок «Незавершённые партии», время начала, число игроков, ники строкой и кнопка «Завершить →». Из списка «Партии» идущие партии исключены, иначе одна и та же партия показывалась бы на странице дважды. По результату ревью блок на странице группы не показывает название группы — оно повторяло заголовок страницы. Для этого у компонента появился проп `showGroupName` со значением по умолчанию `true`: на главной, где партии приходят из разных групп, название по-прежнему нужно и ничего не изменилось. Бэкенд не тронут. `MatchListItem`, который отдаёт `/api/groups/{id}/matches`, уже содержит всё, что требует `HomeInProgressMatch` — `started_at`, `player_count` и тот же самый тип `MatchListParticipant` в `participants`; недостающие `group_id` и `group_name` берутся из `useMe()` и `useGroup()`. Эндпойнты не менялись, `npm run gen:api` не понадобился, миграций нет. ## Коммиты - `b3e4f71` Группа: текущая игра — тем же блоком, что на главной - `1790e19` Группа: не дублировать название группы в блоке текущей игры ## Проверки - `npm run build` (`tsc --noEmit && vite build`) — зелёный на обоих коммитах; типы сошлись структурно, приведений не потребовалось - `pytest` (backend) — 65 passed (бэкенд не затрагивался, прогнан для полноты) - Визуальная проверка на dev-стенде — **не выполнена**: стенд остановлен, расширение Claude in Chrome к сессии не подключено ## Отклонения от плана План предполагал переиспользовать компонент строго 1:1, без новых пропов, и отдельно отмечал дублирование названия группы как то, что может не понравиться. Так и вышло — по вашему замечанию добавлен `showGroupName`. Это единственное отступление. Closes #2
Agent added 1 commit 2026-09-07 16:02:55 +03:00
На странице группы идущая партия лежала в общем списке «Партии» и
отличалась от завершённых только бейджем «идёт». Теперь она выносится
блоком 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
Owner

Убери отображение названия группы на вкладке группы.

Убери отображение названия группы на вкладке группы.
NotBigGhost added 1 commit 2026-09-07 16:35:16 +03:00
На главной партии приходят из разных групп, поэтому название нужно; на
странице самой группы оно повторяет заголовок страницы. Блок получил
проп showGroupName (по умолчанию true) — главная не меняется.

#2

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps52xzuUXnWrJ5SRnEeaLk
Author
Collaborator

Сделано, коммит 1790e19.

InProgressMatches получил проп showGroupName со значением по умолчанию true, а страница группы вызывает блок с showGroupName={false}. Главная не меняется: там партии приходят из разных групп, и название там нужно — а на странице самой группы оно повторяло заголовок страницы.

В строке остаётся бейдж «идёт», ниже — время начала, число игроков и ники, справа «Завершить →».

npm run build — зелёный.

Сделано, коммит `1790e19`. `InProgressMatches` получил проп `showGroupName` со значением по умолчанию `true`, а страница группы вызывает блок с `showGroupName={false}`. Главная не меняется: там партии приходят из разных групп, и название там нужно — а на странице самой группы оно повторяло заголовок страницы. В строке остаётся бейдж «идёт», ниже — время начала, число игроков и ники, справа «Завершить →». `npm run build` — зелёный.
NotBigGhost merged commit bca2d7a058 into dev 2026-09-07 19:03:24 +03:00
NotBigGhost deleted branch issue-2-group-current-match 2026-09-07 19:03:24 +03:00
Sign in to join this conversation.