UI: общие классы кнопок и бейджей вместо дублирующихся inline-стилей

- .btn-block в global.css заменяет 9 повторов style={{width:100%}};
- .badge-live — единый бейдж «идёт» (3 копии inline-стиля);
- незавершённые партии на главной используют стандартный .card,
  как список партий (была единственная карточка на самодельных стилях);
- в списке партий добавлен бейдж 🎲 случайной фракции — как на странице
  партии (раньше в списке он терялся);
- переключатель групп: кнопка «+» подписана «+ Создать группу»
  (по образцу «+ Добавить игрока»), убран пустой span.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-13 17:45:35 +03:00
co-authored by Claude Fable 5
parent e38555b74d
commit ca96073ccf
11 changed files with 22 additions and 38 deletions
+3 -12
View File
@@ -18,23 +18,14 @@ export function InProgressMatches({ items }: { items: HomeInProgressMatch[] }) {
// а интерактивные элементы внутри <button> — невалидная разметка.
<div
key={m.id}
className="row-between"
className="card row-between"
onClick={() => navigate(`/match/${m.id}`)}
style={{
width: "100%",
textAlign: "left",
background: "var(--surface-2)",
border: "1px solid var(--border)",
borderRadius: "var(--radius-sm)",
padding: 12,
color: "var(--text)",
cursor: "pointer",
}}
style={{ margin: 0, cursor: "pointer" }}
>
<div style={{ minWidth: 0 }}>
<div className="row" style={{ gap: 8 }}>
<b>{m.group_name}</b>
<span className="badge" style={{ color: "var(--accent-2)" }}>идёт</span>
<span className="badge badge-live">идёт</span>
</div>
<div className="muted small">
{formatTime(m.started_at)} · {m.player_count}{" "}