Убрать метку «идёт» из блока незавершённых партий
Блок озаглавлен «Незавершённые партии», а каждая карточка заканчивается кнопкой «Завершить» — бейдж дублировал и то и другое; на странице группы, где название группы не показывается, он вдобавок висел в строке один. Заодно снято мёртвое ветвление в MatchListView: незавершённые партии туда не попадают ни из группы (там отдельный блок), ни из истории профиля (бэкенд фильтрует по status="finished"). На странице самой партии бейдж остаётся — там он единственный указатель статуса. #26 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186Fk74jkkszahEHSjBzTjD
This commit is contained in:
@@ -29,10 +29,7 @@ export function InProgressMatches({
|
||||
style={{ margin: 0, width: "100%", textAlign: "left" }}
|
||||
>
|
||||
<div style={{ minWidth: 0 }}>
|
||||
<div className="row" style={{ gap: 8 }}>
|
||||
{showGroupName && <b>{m.group_name}</b>}
|
||||
<span className="badge badge-live">идёт</span>
|
||||
</div>
|
||||
{showGroupName && <b>{m.group_name}</b>}
|
||||
<div className="muted small">
|
||||
{formatTime(m.started_at)} · {m.player_count}{" "}
|
||||
{plural(m.player_count, "игрок", "игрока", "игроков")}
|
||||
|
||||
@@ -4,6 +4,9 @@ import { formatDate, formatDuration } from "../domain/format";
|
||||
import { winReasonLabel } from "../domain/winReasons";
|
||||
import type { MatchListItem } from "../domain/types";
|
||||
|
||||
/** Список ЗАВЕРШЁННЫХ партий. Незавершённые сюда не попадают: группа отдаёт их
|
||||
* отдельным блоком (InProgressMatches), а история профиля приходит с бэкенда уже
|
||||
* отфильтрованной по status="finished". */
|
||||
export function MatchListView({ items }: { items: MatchListItem[] }) {
|
||||
const navigate = useNavigate();
|
||||
if (items.length === 0) return <div className="muted small">Партий пока нет.</div>;
|
||||
@@ -11,7 +14,6 @@ export function MatchListView({ items }: { items: MatchListItem[] }) {
|
||||
return (
|
||||
<div className="stack">
|
||||
{items.map((m) => {
|
||||
const inProgress = m.status === "in_progress";
|
||||
const sorted = [...m.participants].sort((a, b) => (a.place ?? 99) - (b.place ?? 99));
|
||||
return (
|
||||
<button
|
||||
@@ -22,13 +24,9 @@ export function MatchListView({ items }: { items: MatchListItem[] }) {
|
||||
>
|
||||
<div className="row-between">
|
||||
<span className="muted small">{formatDate(m.played_at)}</span>
|
||||
{inProgress ? (
|
||||
<span className="badge badge-live">идёт</span>
|
||||
) : (
|
||||
<span className="muted small">
|
||||
{formatDuration(m.duration_minutes)} · {winReasonLabel(m.win_reason)}
|
||||
</span>
|
||||
)}
|
||||
<span className="muted small">
|
||||
{formatDuration(m.duration_minutes)} · {winReasonLabel(m.win_reason)}
|
||||
</span>
|
||||
</div>
|
||||
<div className="stack" style={{ marginTop: 6, gap: 4 }}>
|
||||
{/* Ники здесь — просто текст: карточка целиком ведёт в партию,
|
||||
|
||||
Reference in New Issue
Block a user