29 lines
934 B
TypeScript
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}
|
|
/>
|
|
);
|
|
});
|