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:
@@ -153,7 +153,7 @@ export function AccountPage() {
|
||||
|
||||
{stats && <ProfileStatsCard stats={stats} />}
|
||||
|
||||
<button className="btn btn-danger" style={{ width: "100%" }} onClick={doLogout}>
|
||||
<button className="btn btn-danger btn-block" onClick={doLogout}>
|
||||
Выйти
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -236,8 +236,8 @@ export function CreateMatchPage() {
|
||||
{error && <p className="error-text">{error}</p>}
|
||||
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
style={{ width: "100%", marginTop: 12 }}
|
||||
className="btn btn-primary btn-block"
|
||||
style={{ marginTop: 12 }}
|
||||
onClick={submit}
|
||||
disabled={startMatch.isPending}
|
||||
>
|
||||
|
||||
@@ -122,7 +122,7 @@ export function MatchDetailPage() {
|
||||
<div className="row-between">
|
||||
<h2 style={{ margin: 0 }}>{formatDate(match.played_at)}</h2>
|
||||
{inProgress ? (
|
||||
<span className="badge" style={{ color: "var(--accent-2)" }}>идёт</span>
|
||||
<span className="badge badge-live">идёт</span>
|
||||
) : (
|
||||
<span className="muted small">{formatDuration(match.duration_minutes)}</span>
|
||||
)}
|
||||
@@ -261,8 +261,7 @@ export function MatchDetailPage() {
|
||||
{error && <p className="error-text">{error}</p>}
|
||||
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
style={{ width: "100%" }}
|
||||
className="btn btn-primary btn-block"
|
||||
onClick={submitFinish}
|
||||
disabled={finish.isPending}
|
||||
>
|
||||
@@ -274,11 +273,7 @@ export function MatchDetailPage() {
|
||||
)}
|
||||
|
||||
{canModify && (
|
||||
<button
|
||||
className="btn btn-danger"
|
||||
style={{ width: "100%" }}
|
||||
onClick={() => setConfirmRemove(true)}
|
||||
>
|
||||
<button className="btn btn-danger btn-block" onClick={() => setConfirmRemove(true)}>
|
||||
{inProgress ? "Отменить партию" : "Удалить партию"}
|
||||
</button>
|
||||
)}
|
||||
|
||||
@@ -64,8 +64,7 @@ export function PublicProfilePage() {
|
||||
<div className="card">
|
||||
{groups.length === 1 ? (
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
style={{ width: "100%" }}
|
||||
className="btn btn-primary btn-block"
|
||||
onClick={() => doInvite(groups[0].id)}
|
||||
disabled={invite.isPending}
|
||||
>
|
||||
@@ -74,8 +73,7 @@ export function PublicProfilePage() {
|
||||
) : (
|
||||
<>
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
style={{ width: "100%" }}
|
||||
className="btn btn-primary btn-block"
|
||||
onClick={() => setPickOpen((v) => !v)}
|
||||
>
|
||||
Добавить в группу
|
||||
|
||||
@@ -40,7 +40,7 @@ export function AdminLoginPage() {
|
||||
<input type="password" value={password} onChange={(e) => setPassword(e.target.value)} />
|
||||
</div>
|
||||
{error && <p className="error-text">{error}</p>}
|
||||
<button className="btn btn-primary" style={{ width: "100%" }} onClick={submit} disabled={login.isPending}>
|
||||
<button className="btn btn-primary btn-block" onClick={submit} disabled={login.isPending}>
|
||||
Войти
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -186,7 +186,7 @@ export function AdminMatchEdit({ matchId, onClose }: { matchId: number; onClose:
|
||||
|
||||
{error && <p className="error-text">{error}</p>}
|
||||
|
||||
<button className="btn btn-primary" style={{ width: "100%" }} onClick={save} disabled={update.isPending}>
|
||||
<button className="btn btn-primary btn-block" onClick={save} disabled={update.isPending}>
|
||||
Сохранить изменения
|
||||
</button>
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user