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

Из списков убраны варианты-плейсхолдеры («— игрок —» в выборе игрока,
«— фракция —» в выборе фракции — disabled+hidden, в закрытом виде текст
остаётся). Фон .suggest-list — surface-2, как у input/select; hover строк —
--border. Скорость: дебаунс поиска 250→100 мс, в инвайте показанный список
дофильтровывается по вводу на клиенте, не дожидаясь ответа сервера;
touch-action: manipulation на строках и триггере.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 03:13:05 +03:00
co-authored by Claude Fable 5
parent f22ee1ec29
commit 8a2b53d0b2
6 changed files with 20 additions and 32 deletions
+4 -3
View File
@@ -296,7 +296,7 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent); }
top: calc(100% + 4px);
left: 0;
right: 0;
background: var(--surface);
background: var(--surface-2); /* как у input/select — выпадашка продолжает поле */
border: 1px solid var(--border);
border-radius: var(--radius-sm);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
@@ -317,11 +317,11 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent); }
font-weight: 600;
text-align: left;
cursor: pointer;
touch-action: manipulation; /* тап без задержки двойного тапа */
}
.suggest-row:last-child { border-bottom: none; }
.suggest-row:hover, .suggest-row:active { background: var(--surface-2); }
.suggest-row:hover, .suggest-row:active { background: var(--border); }
.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 {
@@ -339,6 +339,7 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent); }
text-align: left;
cursor: pointer;
outline: none;
touch-action: manipulation;
}
.picker-trigger:focus { border-color: var(--accent); }
.picker-trigger .nick { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }