Handy/src/components/settings/AlwaysOnMicrophone.tsx

29 lines
934 B
TypeScript

import React from "react";
import { ToggleSwitch } from "../ui/ToggleSwitch";
import { useSettings } from "../../hooks/useSettings";
interface AlwaysOnMicrophoneProps {
descriptionMode?: "inline" | "tooltip";
grouped?: boolean;
}
export const AlwaysOnMicrophone: React.FC<AlwaysOnMicrophoneProps> = React.memo(({
descriptionMode = "tooltip",
grouped = false,
}) => {
const { getSetting, updateSetting, isUpdating } = useSettings();
const alwaysOnMode = getSetting("always_on_microphone") || false;
return (
<ToggleSwitch
checked={alwaysOnMode}
onChange={(enabled) => updateSetting("always_on_microphone", enabled)}
isUpdating={isUpdating("always_on_microphone")}
label="Always-On Microphone"
description="Keep microphone active for low latency recording. This may prevent your computer from sleeping."
descriptionMode={descriptionMode}
grouped={grouped}
/>
);
});