LibreChat/client/src/components/Chat/Messages/MessageAudio.tsx

21 lines
600 B
TypeScript
Raw Normal View History

import { memo } from 'react';
import { useRecoilValue } from 'recoil';
import type { TMessageAudio } from '~/common';
import { BrowserTTS, ExternalTTS } from '~/components/Audio/TTS';
import { TTSEndpoints } from '~/common';
import store from '~/store';
function MessageAudio(props: TMessageAudio) {
const engineTTS = useRecoilValue<string>(store.engineTTS);
const TTSComponents = {
[TTSEndpoints.browser]: BrowserTTS,
[TTSEndpoints.external]: ExternalTTS,
};
const SelectedTTS = TTSComponents[engineTTS];
return <SelectedTTS {...props} />;
}
export default memo(MessageAudio);