import React from "react"; import { Dropdown } from "../ui/Dropdown"; import { SettingContainer } from "../ui/SettingContainer"; import { ResetButton } from "../ui/ResetButton"; import { useSettings } from "../../hooks/useSettings"; interface OutputDeviceSelectorProps { descriptionMode?: "inline" | "tooltip"; grouped?: boolean; } export const OutputDeviceSelector: React.FC = React.memo(({ descriptionMode = "tooltip", grouped = false, }) => { const { getSetting, updateSetting, resetSetting, isUpdating, isLoading, outputDevices, refreshOutputDevices, } = useSettings(); const selectedOutputDevice = getSetting("selected_output_device") === "default" ? "Default" : getSetting("selected_output_device") || "Default"; const handleOutputDeviceSelect = async (deviceName: string) => { await updateSetting("selected_output_device", deviceName); }; const handleReset = async () => { await resetSetting("selected_output_device"); }; const outputDeviceOptions = outputDevices.map(device => ({ value: device.name, label: device.name })); return (
); });