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
+3 -2
View File
@@ -4,8 +4,9 @@ import { useEffect, useState } from "react";
import { api, unwrap } from "../api/client";
import { qk } from "../api/queryKeys";
/** Значение с задержкой: не дёргаем поиск на каждый введённый символ. */
function useDebounced<T>(value: T, ms = 250): T {
/** Значение с задержкой: не дёргаем поиск на каждый введённый символ.
* 100 мс — почти незаметно глазу, но склеивает быструю печать в один запрос. */
function useDebounced<T>(value: T, ms = 100): T {
const [debounced, setDebounced] = useState(value);
useEffect(() => {
const t = setTimeout(() => setDebounced(value), ms);