fix(settings): handle default device labels and empty device lists
This commit is contained in:
parent
46d28a0616
commit
24e0319256
3 changed files with 8 additions and 8 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
const ResetIcon = () => {
|
const ResetIcon = () => {
|
||||||
return (
|
return (
|
||||||
<svg fill="none" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><g stroke="#de689e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="m13.5 8.5h3v-3"/><path d="m13.775 14c-.7863.7419-1.7737 1.2356-2.8389 1.4196-1.06527.1839-2.16109.0498-3.15057-.3855s-1.82875-1.1525-2.41293-2.0621c-.58419-.9095-.88739-1.9711-.87172-3.05197.01567-1.08089.34952-2.13319.95982-3.02543.61031-.89224 1.47001-1.58485 2.4717-1.99129s2.1009-.50868 3.1604-.29396c1.0595.21473 2.0322.7369 2.7965 1.50127l2.6107 2.38938"/></g></svg>
|
<svg fill="none" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><g stroke="#de689e" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.5"><path d="m13.5 8.5h3v-3"/><path d="m13.775 14c-.7863.7419-1.7737 1.2356-2.8389 1.4196-1.06527.1839-2.16109.0498-3.15057-.3855s-1.82875-1.1525-2.41293-2.0621c-.58419-.9095-.88739-1.9711-.87172-3.05197.01567-1.08089.34952-2.13319.95982-3.02543.61031-.89224 1.47001-1.58485 2.4717-1.99129s2.1009-.50868 3.1604-.29396c1.0595.21473 2.0322.7369 2.7965 1.50127l2.6107 2.38938"/></g></svg>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ export const MicrophoneSelector: React.FC<MicrophoneSelectorProps> = React.memo(
|
||||||
refreshAudioDevices,
|
refreshAudioDevices,
|
||||||
} = useSettings();
|
} = useSettings();
|
||||||
|
|
||||||
const selectedMicrophone = getSetting("selected_microphone") || "Default";
|
const selectedMicrophone = getSetting("selected_microphone") === "default" ? "Default" : getSetting("selected_microphone") || "Default";
|
||||||
|
|
||||||
|
|
||||||
const handleMicrophoneSelect = async (deviceName: string) => {
|
const handleMicrophoneSelect = async (deviceName: string) => {
|
||||||
await updateSetting("selected_microphone", deviceName);
|
await updateSetting("selected_microphone", deviceName);
|
||||||
|
|
@ -50,8 +51,8 @@ export const MicrophoneSelector: React.FC<MicrophoneSelectorProps> = React.memo(
|
||||||
options={microphoneOptions}
|
options={microphoneOptions}
|
||||||
selectedValue={selectedMicrophone}
|
selectedValue={selectedMicrophone}
|
||||||
onSelect={handleMicrophoneSelect}
|
onSelect={handleMicrophoneSelect}
|
||||||
placeholder={isLoading ? "Loading..." : "Select microphone..."}
|
placeholder={isLoading || audioDevices.length === 0 ? "Loading..." : "Select microphone..."}
|
||||||
disabled={isUpdating("selected_microphone") || isLoading}
|
disabled={isUpdating("selected_microphone") || isLoading || audioDevices.length === 0}
|
||||||
onRefresh={refreshAudioDevices}
|
onRefresh={refreshAudioDevices}
|
||||||
/>
|
/>
|
||||||
<ResetButton
|
<ResetButton
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,7 @@ export const OutputDeviceSelector: React.FC<OutputDeviceSelectorProps> = React.m
|
||||||
refreshOutputDevices,
|
refreshOutputDevices,
|
||||||
} = useSettings();
|
} = useSettings();
|
||||||
|
|
||||||
const selectedOutputDevice =
|
const selectedOutputDevice = getSetting("selected_output_device") === "default" ? "Default" : getSetting("selected_output_device") || "Default";
|
||||||
getSetting("selected_output_device") || "Default";
|
|
||||||
|
|
||||||
const handleOutputDeviceSelect = async (deviceName: string) => {
|
const handleOutputDeviceSelect = async (deviceName: string) => {
|
||||||
await updateSetting("selected_output_device", deviceName);
|
await updateSetting("selected_output_device", deviceName);
|
||||||
|
|
@ -51,8 +50,8 @@ export const OutputDeviceSelector: React.FC<OutputDeviceSelectorProps> = React.m
|
||||||
options={outputDeviceOptions}
|
options={outputDeviceOptions}
|
||||||
selectedValue={selectedOutputDevice}
|
selectedValue={selectedOutputDevice}
|
||||||
onSelect={handleOutputDeviceSelect}
|
onSelect={handleOutputDeviceSelect}
|
||||||
placeholder={isLoading ? "Loading..." : "Select output device..."}
|
placeholder={isLoading || outputDevices.length === 0 ? "Loading..." : "Select output device..."}
|
||||||
disabled={isUpdating("selected_output_device") || isLoading}
|
disabled={isUpdating("selected_output_device") || isLoading || outputDevices.length === 0}
|
||||||
onRefresh={refreshOutputDevices}
|
onRefresh={refreshOutputDevices}
|
||||||
/>
|
/>
|
||||||
<ResetButton
|
<ResetButton
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue