UI: в незавершённых партиях на главной ники некликабельны; кнопка «Создать группу» без плюса

Как и в списке партий группы: карточка целиком ведёт в партию, ссылки
на профили внутри мешали выбору. Элемент возвращён к <button>.
Плюс правка подписи кнопки создания группы: «+ Создать группу» ->
«Создать группу».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 17:24:31 +03:00
co-authored by Claude Fable 5
parent ac296a8f12
commit dbc32b7f4d
2 changed files with 7 additions and 13 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ export function GroupSwitcher() {
})}
{/* Плашка создания новой группы — в одном ряду логики с выбором группы. */}
<button className="btn" onClick={() => setCreating((v) => !v)}>
+ Создать группу
Создать группу
</button>
</div>
+6 -12
View File
@@ -3,7 +3,6 @@ import { useNavigate } from "react-router-dom";
import { formatTime, plural } from "../domain/format";
import type { HomeInProgressMatch } from "../domain/types";
import { PlayerLink } from "./PlayerLink";
export function InProgressMatches({ items }: { items: HomeInProgressMatch[] }) {
const navigate = useNavigate();
@@ -14,13 +13,11 @@ export function InProgressMatches({ items }: { items: HomeInProgressMatch[] }) {
<h3 style={{ color: "var(--accent-2)" }}>Незавершённые партии</h3>
<div className="stack">
{items.map((m) => (
// div, а не button: внутри лежат ссылки на профили игроков,
// а интерактивные элементы внутри <button> — невалидная разметка.
<div
<button
key={m.id}
className="card row-between"
onClick={() => navigate(`/match/${m.id}`)}
style={{ margin: 0, cursor: "pointer" }}
style={{ margin: 0, width: "100%", textAlign: "left" }}
>
<div style={{ minWidth: 0 }}>
<div className="row" style={{ gap: 8 }}>
@@ -35,18 +32,15 @@ export function InProgressMatches({ items }: { items: HomeInProgressMatch[] }) {
className="small"
style={{ overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}
>
{m.participants.map((p, i) => (
<span key={p.user_id}>
{i > 0 && ", "}
<PlayerLink userId={p.user_id}>{p.nickname}</PlayerLink>
</span>
))}
{/* Ники — просто текст: карточка целиком ведёт в партию,
как и в списке партий группы. */}
{m.participants.map((p) => p.nickname).join(", ")}
</div>
</div>
<div className="row" style={{ gap: 4, color: "var(--accent-2)", flexShrink: 0 }}>
Завершить <ChevronRight size={18} />
</div>
</div>
</button>
))}
</div>
</div>