diff --git a/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx b/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx index 1879856..9c95bea 100644 --- a/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx +++ b/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx @@ -15,6 +15,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/comp import { ttsApi, jobApi } from '@/lib/api' import { useJobPolling } from '@/hooks/useJobPolling' import { useHistoryContext } from '@/contexts/HistoryContext' +import { useUserPreferences } from '@/contexts/UserPreferencesContext' import { LoadingState } from '@/components/LoadingState' import { AudioPlayer } from '@/components/AudioPlayer' import { PresetSelector } from '@/components/PresetSelector' @@ -54,6 +55,7 @@ const CustomVoiceForm = forwardRef((_props, ref) => { const { currentJob, isPolling, isCompleted, startPolling, elapsedTime } = useJobPolling() const { refresh } = useHistoryContext() + const { preferences } = useUserPreferences() const { register, @@ -93,9 +95,10 @@ const CustomVoiceForm = forwardRef((_props, ref) => { useEffect(() => { const fetchData = async () => { try { + const backend = preferences?.default_backend || 'local' const [langs, spks] = await Promise.all([ ttsApi.getLanguages(), - ttsApi.getSpeakers(), + ttsApi.getSpeakers(backend), ]) setLanguages(langs) setSpeakers(spks) @@ -104,7 +107,7 @@ const CustomVoiceForm = forwardRef((_props, ref) => { } } fetchData() - }, []) + }, [preferences?.default_backend]) const onSubmit = async (data: FormData) => { diff --git a/qwen3-tts-frontend/src/lib/api.ts b/qwen3-tts-frontend/src/lib/api.ts index 2b9d5b1..f500364 100644 --- a/qwen3-tts-frontend/src/lib/api.ts +++ b/qwen3-tts-frontend/src/lib/api.ts @@ -221,8 +221,9 @@ export const ttsApi = { })) }, - getSpeakers: async (): Promise => { - const response = await apiClient.get(API_ENDPOINTS.TTS.SPEAKERS) + getSpeakers: async (backend?: string): Promise => { + const params = backend ? { backend } : {} + const response = await apiClient.get(API_ENDPOINTS.TTS.SPEAKERS, { params }) return response.data.map((speaker) => ({ name: speaker.name, description: SPEAKER_DESCRIPTIONS_ZH[speaker.name] || speaker.description,