diff --git a/web/app/components/base/features/new-feature-panel/index.tsx b/web/app/components/base/features/new-feature-panel/index.tsx index 430b1ee748..7323cc25e2 100644 --- a/web/app/components/base/features/new-feature-panel/index.tsx +++ b/web/app/components/base/features/new-feature-panel/index.tsx @@ -3,20 +3,27 @@ import { useTranslation } from 'react-i18next' import produce from 'immer' import { RiCloseLine, + RiEqualizer2Line, RiQuestionLine, RiSparklingFill, } from '@remixicon/react' import { Citations, Microphone01, + TextToAudio, VirtualAssistant, } from '@/app/components/base/icons/src/vender/features' import DialogWrapper from '@/app/components/base/features/new-feature-panel/dialog-wrapper' import { useFeatures, useFeaturesStore } from '@/app/components/base/features/hooks' +import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks' +import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations' import type { OnFeaturesChange } from '@/app/components/base/features/types' import { FeatureEnum } from '@/app/components/base/features/types' +import { TtsAutoPlay } from '@/types/app' +import { languages } from '@/i18n/language' import Switch from '@/app/components/base/switch' import Tooltip from '@/app/components/base/tooltip' +import Button from '@/app/components/base/button' type Props = { show: boolean @@ -28,6 +35,10 @@ type Props = { const NewFeaturePanel = ({ show, isChatMode, onChange, onClose }: Props) => { const { t } = useTranslation() + const { data: speech2textDefaultModel } = useDefaultModel(ModelTypeEnum.speech2text) + const { data: text2speechDefaultModel } = useDefaultModel(ModelTypeEnum.tts) + const textToSpeech = useFeatures(s => s.features.text2speech) // .language .voice .autoPlay + const languageInfo = languages.find(i => i.value === textToSpeech?.language) const features = useFeatures(s => s.features) const featuresStore = useFeaturesStore() @@ -90,7 +101,7 @@ const NewFeaturePanel = ({ show, isChatMode, onChange, onClose }: Props) => { )} {/* speech to text */} - {isChatMode && ( + {isChatMode && speech2textDefaultModel && (