Новый компонент Switch (разметка .switch из global.css). Применён: - создание группы: дополнения теперь свитчи, как в настройках группы; - настройки группы: базовые дополнения показываются, как при создании (включены, заблокированы, подпись «всегда включено»), а не скрываются; - админка: «Группировать по группам» и флаг «выбыл» в правке партии. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28 lines
722 B
TypeScript
28 lines
722 B
TypeScript
/**
|
|
* Тумблер вкл/выкл (стили .switch в global.css) — единый контрол для булевых опций
|
|
* (дополнения группы, фильтры, флаги). Вместо нативных чекбоксов.
|
|
*/
|
|
export function Switch({
|
|
checked,
|
|
disabled,
|
|
onChange,
|
|
}: {
|
|
checked: boolean;
|
|
disabled?: boolean;
|
|
onChange?: (checked: boolean) => void;
|
|
}) {
|
|
return (
|
|
<span className="switch">
|
|
<input
|
|
type="checkbox"
|
|
checked={checked}
|
|
disabled={disabled}
|
|
onChange={(e) => onChange?.(e.target.checked)}
|
|
/>
|
|
<span className="switch-track">
|
|
<span className="switch-thumb" />
|
|
</span>
|
|
</span>
|
|
);
|
|
}
|