На странице группы идущая партия лежала в общем списке «Партии» и отличалась от завершённых только бейджем «идёт». Теперь она выносится наверх блоком 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. Это единственное отступление.
## Что сделано
На странице группы идущая партия лежала в общем списке «Партии» и отличалась от завершённых только бейджем «идёт». Теперь она выносится наверх блоком `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 — тем же компонентом, что на главной.
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
На главной партии приходят из разных групп, поэтому название нужно; на
странице самой группы оно повторяет заголовок страницы. Блок получил
проп showGroupName (по умолчанию true) — главная не меняется.
#2
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps52xzuUXnWrJ5SRnEeaLk
InProgressMatches получил проп showGroupName со значением по умолчанию true, а страница группы вызывает блок с showGroupName={false}. Главная не меняется: там партии приходят из разных групп, и название там нужно — а на странице самой группы оно повторяло заголовок страницы.
В строке остаётся бейдж «идёт», ниже — время начала, число игроков и ники, справа «Завершить →».
npm run build — зелёный.
Сделано, коммит `1790e19`.
`InProgressMatches` получил проп `showGroupName` со значением по умолчанию `true`, а страница группы вызывает блок с `showGroupName={false}`. Главная не меняется: там партии приходят из разных групп, и название там нужно — а на странице самой группы оно повторяло заголовок страницы.
В строке остаётся бейдж «идёт», ниже — время начала, число игроков и ники, справа «Завершить →».
`npm run build` — зелёный.
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.
Что сделано
На странице группы идущая партия лежала в общем списке «Партии» и отличалась от завершённых только бейджем «идёт». Теперь она выносится наверх блоком
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 (бэкенд не затрагивался, прогнан для полноты)Отклонения от плана
План предполагал переиспользовать компонент строго 1:1, без новых пропов, и отдельно отмечал дублирование названия группы как то, что может не понравиться. Так и вышло — по вашему замечанию добавлен
showGroupName. Это единственное отступление.Closes #2
Убери отображение названия группы на вкладке группы.
Сделано, коммит
1790e19.InProgressMatchesполучил пропshowGroupNameсо значением по умолчаниюtrue, а страница группы вызывает блок сshowGroupName={false}. Главная не меняется: там партии приходят из разных групп, и название там нужно — а на странице самой группы оно повторяло заголовок страницы.В строке остаётся бейдж «идёт», ниже — время начала, число игроков и ники, справа «Завершить →».
npm run build— зелёный.