29 lines
505 B
TypeScript
29 lines
505 B
TypeScript
"use client";
|
|
|
|
/** 后台唯一开关控件 */
|
|
export default function AdminSwitch({
|
|
checked,
|
|
disabled,
|
|
onChange,
|
|
label,
|
|
}: {
|
|
checked: boolean;
|
|
disabled?: boolean;
|
|
onChange: () => void;
|
|
label: string;
|
|
}) {
|
|
return (
|
|
<button
|
|
type="button"
|
|
role="switch"
|
|
aria-checked={checked}
|
|
aria-label={label}
|
|
disabled={disabled}
|
|
onClick={onChange}
|
|
className="admin-switch"
|
|
>
|
|
<span className="admin-switch-knob" aria-hidden />
|
|
</button>
|
|
);
|
|
}
|