UI: выбор игрока при создании партии — выпадашка в стиле подсказок

Вместо нативного select — кнопка-триггер (аватар + ник) с выпадающим
списком всех игроков группы в стилистике подсказок инвайта; игроки,
уже выбранные в других строках, не предлагаются (заодно исключены
дубли). Для аватаров в списке MemberRead теперь отдаёт avatar_url.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 03:00:26 +03:00
co-authored by Claude Fable 5
parent 4a681430af
commit f22ee1ec29
7 changed files with 137 additions and 16 deletions
+23
View File
@@ -321,6 +321,29 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent); }
.suggest-row:last-child { border-bottom: none; }
.suggest-row:hover, .suggest-row:active { background: var(--surface-2); }
.suggest-row .nick { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suggest-clear { color: var(--muted); font-weight: 400; }
/* Кнопка-триггер PlayerSelect: выглядит как select, раскрывает .suggest-list. */
.picker-trigger {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
min-height: 42px; /* высота обычного input/select — строки формы не «прыгают» */
background: var(--surface-2);
color: var(--text);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
padding: 8px 12px;
font: inherit;
text-align: left;
cursor: pointer;
outline: none;
}
.picker-trigger:focus { border-color: var(--accent); }
.picker-trigger .nick { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.picker-placeholder { color: var(--muted); }
.picker-chevron { margin-left: auto; flex: none; color: var(--muted); }
/* Всплывашки сверху экрана в момент прихода */
.toast-top-wrap {