diff --git a/web/app/components/base/features/new-feature-panel/conversation-opener/index.tsx b/web/app/components/base/features/new-feature-panel/conversation-opener/index.tsx index e4075880e9..b771147f99 100644 --- a/web/app/components/base/features/new-feature-panel/conversation-opener/index.tsx +++ b/web/app/components/base/features/new-feature-panel/conversation-opener/index.tsx @@ -48,13 +48,21 @@ const ConversationOpener = ({ }, onSaveCallback: (newOpening) => { const newFeatures = produce(features, (draft) => { - draft.opening = newOpening + draft.opening = { + ...newOpening, + enabled: !!(newOpening.opening_statement || (newOpening.suggested_questions && newOpening.suggested_questions.length > 0)), + } }) setFeatures(newFeatures) if (onChange) onChange() }, onCancelCallback: () => { + const newFeatures = produce(features, (draft) => { + if (draft.opening && !draft.opening.opening_statement && !(draft.opening.suggested_questions && draft.opening.suggested_questions.length > 0)) + draft.opening.enabled = false + }) + setFeatures(newFeatures) if (onChange) onChange() }, @@ -67,6 +75,11 @@ const ConversationOpener = ({ setFeatures, } = featuresStore!.getState() + if (enabled && !features.opening?.opening_statement && !(features.opening?.suggested_questions && features.opening.suggested_questions.length > 0)) { + handleOpenOpeningModal() + return + } + const newFeatures = produce(features, (draft) => { draft[type] = { ...draft[type], @@ -76,7 +89,7 @@ const ConversationOpener = ({ setFeatures(newFeatures) if (onChange) onChange() - }, [featuresStore, onChange]) + }, [featuresStore, onChange, handleOpenOpeningModal]) return ( { }, }, features: { - opening_statement: features.opening?.enabled ? (features.opening?.opening_statement || '') : '', - suggested_questions: features.opening?.enabled ? (features.opening?.suggested_questions || []) : [], + opening_statement: features.opening?.opening_statement || '', + suggested_questions: features.opening?.suggested_questions || [], suggested_questions_after_answer: features.suggested, text_to_speech: features.text2speech, speech_to_text: features.speech2text, diff --git a/web/app/components/workflow-app/index.tsx b/web/app/components/workflow-app/index.tsx index c18a86f981..ee3f70f7c5 100644 --- a/web/app/components/workflow-app/index.tsx +++ b/web/app/components/workflow-app/index.tsx @@ -71,7 +71,7 @@ const WorkflowAppWithAdditionalContext = () => { fileUploadConfig: fileUploadConfigResponse, }, opening: { - enabled: !!features.opening_statement, + enabled: !!features.opening_statement || !!(features.suggested_questions && features.suggested_questions.length > 0), opening_statement: features.opening_statement, suggested_questions: features.suggested_questions, },