2024-08-15 11:34:25 -04:00
|
|
|
import { memo } from 'react';
|
2024-05-24 12:18:11 -04:00
|
|
|
import { useRecoilValue } from 'recoil';
|
2024-08-15 11:34:25 -04:00
|
|
|
import type { TMessageAudio } from '~/common';
|
2025-04-15 04:39:01 +02:00
|
|
|
import { BrowserTTS, ExternalTTS } from '~/components/Audio/TTS';
|
2024-08-15 11:34:25 -04:00
|
|
|
import { TTSEndpoints } from '~/common';
|
2024-05-24 12:18:11 -04:00
|
|
|
import store from '~/store';
|
|
|
|
|
|
2024-08-15 11:34:25 -04:00
|
|
|
function MessageAudio(props: TMessageAudio) {
|
|
|
|
|
const engineTTS = useRecoilValue<string>(store.engineTTS);
|
2024-05-24 12:18:11 -04:00
|
|
|
|
2024-08-15 11:34:25 -04:00
|
|
|
const TTSComponents = {
|
|
|
|
|
[TTSEndpoints.browser]: BrowserTTS,
|
|
|
|
|
[TTSEndpoints.external]: ExternalTTS,
|
2024-05-24 12:18:11 -04:00
|
|
|
};
|
|
|
|
|
|
2024-08-15 11:34:25 -04:00
|
|
|
const SelectedTTS = TTSComponents[engineTTS];
|
|
|
|
|
return <SelectedTTS {...props} />;
|
2024-05-24 12:18:11 -04:00
|
|
|
}
|
2024-08-15 11:34:25 -04:00
|
|
|
|
|
|
|
|
export default memo(MessageAudio);
|