() => {
const [checked, setChecked] = React.useState(false);
const [saving, setSaving] = React.useState(false);
React.useEffect(() => {
let timeout;
if (saving) timeout = setTimeout(() => setSaving(false), 1500);
return () => clearTimeout(timeout);
}, [saving]);
return (
<Stack>
<Checkbox
label="Allow notifications"
checked={checked}
onChange={() => setChecked(!checked)}
/>
<Button disabled={saving} onClick={() => setSaving(true)}>
{saving ? "Saving" : "Save settings"}
</Button>
</Stack>
);
};