diff --git a/src/renderer/src/pages/settings/ModelSettings/TopicNamingModalPopup.tsx b/src/renderer/src/pages/settings/ModelSettings/TopicNamingModalPopup.tsx index 0243954f9d..39dd3892ce 100644 --- a/src/renderer/src/pages/settings/ModelSettings/TopicNamingModalPopup.tsx +++ b/src/renderer/src/pages/settings/ModelSettings/TopicNamingModalPopup.tsx @@ -4,7 +4,7 @@ import { useSettings } from '@renderer/hooks/useSettings' import { useAppDispatch } from '@renderer/store' import { setEnableTopicNaming, setTopicNamingPrompt } from '@renderer/store/settings' import { Button, Divider, Flex, Input, Modal, Popover, Switch } from 'antd' -import { useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' import { TopView } from '../../../components/TopView' @@ -31,13 +31,44 @@ const PopupContainer: React.FC = ({ resolve }) => { resolve({}) } - const handleReset = () => { + const handleReset = useCallback(() => { dispatch(setTopicNamingPrompt('')) - } + }, [dispatch]) TopicNamingModalPopup.hide = onCancel - const promptVarsContent =
{t('agents.add.prompt.variables.tip.content')}
+ const promptVarsContent = useMemo(() =>
{t('agents.add.prompt.variables.tip.content')}
, [t]) + + const TopicNamingSettings = useCallback(() => { + return ( + <> + +
{t('settings.models.enable_topic_naming')}
+ dispatch(setEnableTopicNaming(v))} /> +
+ +
+ +
{t('settings.models.topic_naming_prompt')}
+ + + +
+ dispatch(setTopicNamingPrompt(e.target.value.trim()))} + placeholder={t('prompts.title')} + /> + {topicNamingPrompt && ( + + )} +
+ + ) + }, [dispatch, enableTopicNaming, handleReset, promptVarsContent, t, topicNamingPrompt]) return ( = ({ resolve }) => { footer={null} centered> - -
{t('settings.models.enable_topic_naming')}
- dispatch(setEnableTopicNaming(v))} /> -
- -
- -
{t('settings.models.topic_naming_prompt')}
- - - -
- dispatch(setTopicNamingPrompt(e.target.value.trim()))} - placeholder={t('prompts.title')} - /> - {topicNamingPrompt && ( - - )} -
+
) }