import { memo, useMemo, } from 'react' import { useTranslation } from 'react-i18next' import type { OnFeaturesChange } from '../types' import { useFeatures } from '../hooks' import OpeningStatement from './opening-statement' import type { OpeningStatementProps } from './opening-statement' import SuggestedQuestionsAfterAnswer from './suggested-questions-after-answer' import TextToSpeech from './text-to-speech' import SpeechToText from './speech-to-text' import Citation from './citation' import Moderation from './moderation' import Annotation from './annotation' import type { AnnotationProps } from './annotation' export type FeaturePanelProps = { onChange?: OnFeaturesChange openingStatementProps: OpeningStatementProps annotationProps: AnnotationProps } const FeaturePanel = ({ onChange, openingStatementProps, annotationProps, }: FeaturePanelProps) => { const { t } = useTranslation() const features = useFeatures(s => s.features) const showAdvanceFeature = useMemo(() => { return features.opening.enabled || features.suggested.enabled || features.speech2text.enabled || features.text2speech.enabled || features.citation.enabled }, [features]) const showToolFeature = useMemo(() => { return features.moderation.enabled || features.annotation.enabled }, [features]) return (