From 1919f582dd8ef4c1f45e97c6eedef8863d4e9d63 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Sun, 30 Nov 2025 16:45:22 +0800 Subject: [PATCH] tool select ux --- packages/global/core/app/type.d.ts | 7 +- packages/web/i18n/en/app.json | 10 +- packages/web/i18n/en/common.json | 9 +- packages/web/i18n/zh-CN/app.json | 10 +- packages/web/i18n/zh-CN/common.json | 9 +- packages/web/i18n/zh-Hant/app.json | 10 +- packages/web/i18n/zh-Hant/common.json | 9 +- .../core/ai/AISettingModal/index.tsx | 15 ++- .../src/components/core/app/FileSelect.tsx | 4 +- .../components/core/app/InputGuideConfig.tsx | 2 +- .../app/src/components/core/app/QGConfig.tsx | 2 +- .../app/src/components/core/app/TTSSelect.tsx | 2 +- .../src/components/core/app/VariableEdit.tsx | 4 +- .../components/core/app/WelcomeTextConfig.tsx | 4 +- .../src/components/core/app/WhisperConfig.tsx | 2 +- .../app/detail/Edit/ChatAgent/EditForm.tsx | 116 ++++++++---------- .../Edit/ChatAgent/hooks/useSkillManager.tsx | 4 +- .../app/detail/Edit/ChatAgent/hooks/utils.ts | 71 ----------- .../app/detail/Edit/ChatAgent/utils.ts | 76 ++++++++++++ .../FormComponent/ToolSelector/ToolSelect.tsx | 101 +++++++++------ .../ToolSelector/ToolSelectModal.tsx | 109 +++------------- .../app/detail/Edit/SimpleApp/EditForm.tsx | 2 +- .../app/detail/Edit/SimpleApp/utils.ts | 3 + .../detail/Edit/component/ConfigToolModal.tsx | 2 +- .../chat/ChatSetting/ToolSelectModal.tsx | 6 +- 25 files changed, 265 insertions(+), 324 deletions(-) delete mode 100644 projects/app/src/pageComponents/app/detail/Edit/ChatAgent/hooks/utils.ts diff --git a/packages/global/core/app/type.d.ts b/packages/global/core/app/type.d.ts index b63016ee9..f3142c65f 100644 --- a/packages/global/core/app/type.d.ts +++ b/packages/global/core/app/type.d.ts @@ -97,6 +97,9 @@ export type AppDatasetSearchParamsType = { datasetSearchExtensionBg?: string; }; +export type SelectedToolItemType = FlowNodeTemplateType & { + configStatus?: 'active' | 'waitingForConfig' | 'invalid'; +}; export type AppFormEditFormType = { // templateId: string; aiSettings: { @@ -115,9 +118,7 @@ export type AppFormEditFormType = { dataset: { datasets: SelectedDatasetType[]; } & AppDatasetSearchParamsType; - selectedTools: (FlowNodeTemplateType & { - configStatus?: 'active' | 'waitingForConfig' | 'invalid'; - })[]; + selectedTools: SelectedToolItemType[]; chatConfig: AppChatConfigType; }; diff --git a/packages/web/i18n/en/app.json b/packages/web/i18n/en/app.json index f18b94781..5a97df1a8 100644 --- a/packages/web/i18n/en/app.json +++ b/packages/web/i18n/en/app.json @@ -38,6 +38,8 @@ "Team_Tags": "Team tags", "Tool_name": "Tool name", "ai_point_price": "Billing", + "ai_role": "AI role description", + "ai_role_placeholder": "Refer to the following template:\n## Role\n## Response style\n## Response rule", "ai_settings": "AI Configuration", "all_apps": "All Applications", "app.Version name": "Version Name", @@ -280,7 +282,6 @@ "plugin_cost_per_times": "{{cost}} points/time", "plugin_db": "Plugins", "plugin_dispatch": "Plugin Invocation", - "plugin_dispatch_tip": "Adds extra capabilities to the model. The specific plugins to be invoked will be autonomously decided by the model.\nIf a plugin is selected, the Dataset invocation will automatically be treated as a special plugin.", "plugin_offline_tips": "Your system does not have direct access to plugin market data,\n\nPlease manually copy the URL and go to get more plugins", "plugin_offline_url": "URL", "pro_modal_feature_1": "External organization structure integration and multi-tenancy", @@ -362,11 +363,13 @@ "tool_active_system_config_price_desc": "Additional payment for key price ({{price}} points/time)", "tool_active_system_config_price_desc_folder": "The additional key price is required, and the fee will be deducted based on the actual use of the tool.", "tool_detail": "Tool details", - "tool_input_param_tip": "This plugin requires configuration of related information to run properly.", + "tool_input_param_tip": "This tool requires configuration of relevant information for normal operation.", "tool_not_active": "This tool has not been activated yet", "tool_offset_tips": "This tool is no longer available and will interrupt application operation. Please replace it immediately.", + "tool_param_config": "Parameter configuration", "tool_params_description_tips": "The description of parameter functions, if used as tool invocation parameters, affects the model tool invocation effect.", "tool_run_free": "This tool runs without points consumption", + "tool_select": "Select tool", "tool_soon_offset_tips": "This tool will be offline in the future. For the sake of your business stability, please replace it as soon as possible.", "tool_tip": "When executed as a tool, is this field used as a tool response result?", "tool_type_tools": "tool", @@ -433,7 +436,9 @@ "toolkit_uninstalled": "Uninstalled", "toolkit_update_failed": "Update failed", "toolkit_user_guide": "User Guide", + "tools": "tool", "tools_no_description": "This tool has not been introduced ~", + "tools_tip": "Tools available for declaring models to enable extended capabilities such as interaction with external systems", "transition_to_workflow": "Convert to Workflow", "transition_to_workflow_create_new_placeholder": "Create a new app instead of modifying the current app", "transition_to_workflow_create_new_tip": "Once converted to a workflow, it cannot be reverted to simple mode. Please confirm!", @@ -507,6 +512,7 @@ "version_copy": "Duplicate", "version_initial_copy": "Duplicate - Original State", "vision_model_title": "Image recognition ability", + "wait_for_config": "Unconfig", "week.Friday": "Friday", "week.Monday": "Monday", "week.Saturday": "Saturday", diff --git a/packages/web/i18n/en/common.json b/packages/web/i18n/en/common.json index f9936a9dc..28fd25e26 100644 --- a/packages/web/i18n/en/common.json +++ b/packages/web/i18n/en/common.json @@ -98,7 +98,6 @@ "add_new": "add_new", "add_new_param": "Add new param", "add_success": "Added Successfully", - "agent_prompt_tips": "It is recommended to fill in the following template for best results.\n\n\"Role Identity\"\n\n\"Task Objective\"\n\n\"Task Process and Skills\"\n\nEnter \"/\" to insert global variables; enter \"@\" to insert specific skills, including applications, tools, knowledge bases, and models.", "all_quotes": "All quotes", "all_result": "Full Results", "app_evaluation": "App Evaluation(Beta)", @@ -218,7 +217,7 @@ "core.ai.Model": "Model", "core.ai.Not deploy rerank model": "Re-rank Model Not Deployed", "core.ai.Prompt": "Prompt", - "core.ai.Support tool": "Function Call", + "core.ai.Support tool": "Tool call", "core.ai.model.Dataset Agent Model": "File read model", "core.ai.model.Vector Model": "Index model", "core.ai.model.doc_index_and_dialog": "Document Index & Dialog Index", @@ -259,9 +258,7 @@ "core.app.TTS Tip": "After enabling, you can use the voice playback function after each conversation. Using this feature may incur additional costs.", "core.app.TTS start": "Read Content", "core.app.Team tags": "Team Tags", - "core.app.Tool call": "Tool Call", "core.app.ToolCall.No plugin": "No Available Plugins", - "core.app.ToolCall.Parameter setting": "Input Parameters", "core.app.ToolCall.System": "System", "core.app.ToolCall.Team": "Team", "core.app.Welcome Text": "Conversation Opening", @@ -428,7 +425,6 @@ "core.chat.response.user_select_result": "User Selection Result", "core.chat.retry": "Regenerate", "core.chat.tts.Stop Speech": "Stop", - "core.dataset.Choose Dataset": "Associate Dataset", "core.dataset.Collection": "Dataset", "core.dataset.Create dataset": "Create a {{name}}", "core.dataset.Dataset": "Dataset", @@ -665,7 +661,7 @@ "core.module.output.label.query extension result": "Optimization Result", "core.module.template.AI function": "AI Capability", "core.module.template.AI response switch tip": "If you want the current node not to output content, you can turn off this switch. The content output by AI will not be displayed to the user, and you can manually use 'AI Response Content' for special processing.", - "core.module.template.AI support tool tip": "Models that support function calls can better use tool calls.", + "core.module.template.AI support tool tip": "Models that support tool calling enable better use of tools.", "core.module.template.Basic Node": "Basic", "core.module.template.Query extension": "Question Optimization", "core.module.template.System input module": "System Input", @@ -682,7 +678,6 @@ "core.module.template.system_config": "System configuration", "core.module.template.system_config_info": "Can configure application system parameters", "core.module.template.work_start": "Process starts", - "core.module.templates.Load plugin error": "Failed to Load Plugin", "core.module.variable add option": "Add Option", "core.module.variable.Custom type": "Custom Variable", "core.module.variable.add option": "Add Option", diff --git a/packages/web/i18n/zh-CN/app.json b/packages/web/i18n/zh-CN/app.json index 40cb21142..33ec7f815 100644 --- a/packages/web/i18n/zh-CN/app.json +++ b/packages/web/i18n/zh-CN/app.json @@ -40,6 +40,8 @@ "Tool_description": "工具描述", "Tool_name": "工具名称", "ai_point_price": "AI积分计费", + "ai_role": "AI 角色描述", + "ai_role_placeholder": "参考以下模板:\n## 角色\n## 回答风格\n## 回答要求", "ai_settings": "AI 配置", "all_apps": "全部应用", "app.Version name": "版本名称", @@ -293,7 +295,6 @@ "plugin_cost_folder_tip": "该工具集包含下属工具,调用积分依据实际调用工具决定", "plugin_cost_per_times": "{{cost}} 积分/次", "plugin_dispatch": "插件调用", - "plugin_dispatch_tip": "给模型附加获取外部数据的能力,具体调用哪些插件,将由模型自主决定,所有插件都将以非流模式运行。\n若选择了插件,知识库调用将自动作为一个特殊的插件。", "plugin_offline_tips": "您的系统无法直接访问插件市场数据,\n请手动复制网址并前往,以获得更多插件", "plugin_offline_url": "网址", "pro_modal_feature_1": "外部组织架构接入与多租户", @@ -379,11 +380,13 @@ "tool_active_system_config_price_desc": "需额外支付密钥价格( {{price}} 积分/次)", "tool_active_system_config_price_desc_folder": "需额外支付密钥价格,依据实际使用工具扣费。", "tool_detail": "工具详情", - "tool_input_param_tip": "该插件正常运行需要配置相关信息", + "tool_input_param_tip": "该工具正常运行需要配置相关信息", "tool_not_active": "该工具尚未激活", "tool_offset_tips": "该工具已无法使用,将中断应用运行,请立即替换", + "tool_param_config": "参数配置", "tool_params_description_tips": "参数功能的描述,若作为工具调用参数,影响模型工具调用效果", "tool_run_free": "该工具运行无积分消耗", + "tool_select": "选择工具", "tool_soon_offset_tips": "该工具将在后续下线,为了您的业务稳定,请尽快替换", "tool_tip": "作为工具执行时,该字段是否作为工具响应结果", "tool_type_tools": "工具", @@ -450,7 +453,9 @@ "toolkit_uninstalled": "未安装", "toolkit_update_failed": "更新失败", "toolkit_user_guide": "使用说明", + "tools": "工具", "tools_no_description": "这个工具没有介绍~", + "tools_tip": "声明模型可用的工具,可以实现与外部系统交互等扩展能力", "transition_to_workflow": "转成工作流", "transition_to_workflow_create_new_placeholder": "创建一个新的应用,而不是修改当前应用", "transition_to_workflow_create_new_tip": "转化成工作流后,将无法转化回简易模式,请确认!", @@ -526,6 +531,7 @@ "version_copy": "副本", "version_initial_copy": "副本-初始状态", "vision_model_title": "图片识别能力", + "wait_for_config": "等待配置", "week.Friday": "星期五", "week.Monday": "星期一", "week.Saturday": "星期六", diff --git a/packages/web/i18n/zh-CN/common.json b/packages/web/i18n/zh-CN/common.json index 9f65e01bb..bff854cd6 100644 --- a/packages/web/i18n/zh-CN/common.json +++ b/packages/web/i18n/zh-CN/common.json @@ -98,7 +98,6 @@ "add_new": "新增", "add_new_param": "新增参数", "add_success": "添加成功", - "agent_prompt_tips": "建议按照以下模板填写,以获得最佳效果。\n「角色身份」\n「任务目标」\n「任务流程与技能」\n输入“/”插入全局变量;输入“@”插入特定技能,包括应用、工具、知识库、模型。", "all_quotes": "全部引用", "all_result": "完整结果", "app_evaluation": "Agent 评测(Beta)", @@ -219,7 +218,7 @@ "core.ai.Model": "AI 模型", "core.ai.Not deploy rerank model": "未部署重排模型", "core.ai.Prompt": "提示词", - "core.ai.Support tool": "函数调用", + "core.ai.Support tool": "工具调用", "core.ai.model.Dataset Agent Model": "文本理解模型", "core.ai.model.Vector Model": "索引模型", "core.ai.model.doc_index_and_dialog": "文档索引 & 对话索引", @@ -260,9 +259,7 @@ "core.app.TTS Tip": "开启后,每次对话后可使用语音播放功能。使用该功能可能产生额外费用。", "core.app.TTS start": "朗读内容", "core.app.Team tags": "团队标签", - "core.app.Tool call": "工具调用", "core.app.ToolCall.No plugin": "没有可用的插件", - "core.app.ToolCall.Parameter setting": "输入参数", "core.app.ToolCall.System": "系统", "core.app.ToolCall.Team": "团队", "core.app.Welcome Text": "对话开场白", @@ -429,7 +426,6 @@ "core.chat.response.user_select_result": "用户选择结果", "core.chat.retry": "重新生成", "core.chat.tts.Stop Speech": "停止", - "core.dataset.Choose Dataset": "关联知识库", "core.dataset.Collection": "数据集", "core.dataset.Create dataset": "创建一个{{name}}", "core.dataset.Dataset": "知识库", @@ -666,7 +662,7 @@ "core.module.output.label.query extension result": "优化结果", "core.module.template.AI function": "AI能力", "core.module.template.AI response switch tip": "如果你希望当前节点不输出内容,可以关闭该开关。AI 输出的内容不会展示给用户,你可以手动的使用“AI 回复内容”进行特殊处理。", - "core.module.template.AI support tool tip": "支持函数调用的模型,可以更好的使用工具调用。", + "core.module.template.AI support tool tip": "支持工具调用的模型,可以更好的使用工具。", "core.module.template.Basic Node": "基础功能", "core.module.template.Query extension": "问题优化", "core.module.template.System input module": "系统输入", @@ -684,7 +680,6 @@ "core.module.template.system_config": "系统配置", "core.module.template.system_config_info": "可以配置应用的系统参数", "core.module.template.work_start": "流程开始", - "core.module.templates.Load plugin error": "加载插件失败", "core.module.variable add option": "添加选项", "core.module.variable.Custom type": "自定义变量", "core.module.variable.add option": "添加选项", diff --git a/packages/web/i18n/zh-Hant/app.json b/packages/web/i18n/zh-Hant/app.json index 6ee21dcc0..80ad798b6 100644 --- a/packages/web/i18n/zh-Hant/app.json +++ b/packages/web/i18n/zh-Hant/app.json @@ -38,6 +38,8 @@ "Tool_description": "工具描述", "Tool_name": "工具名稱", "ai_point_price": "AI 積分計費", + "ai_role": "AI 角色描述", + "ai_role_placeholder": "參考以下模板:\n## 角色\n## 回答风格\n## 回答要求", "ai_settings": "AI 設定", "all_apps": "所有應用程式", "app.Version name": "版本名稱", @@ -279,7 +281,6 @@ "plugin_cost_per_times": "{{cost}} 積分/次", "plugin_db": "資源庫", "plugin_dispatch": "外掛呼叫", - "plugin_dispatch_tip": "賦予模型取得外部資料的能力,具體呼叫哪些外掛,將由模型自主決定,所有外掛都將以非串流模式執行。\n若選擇了外掛,知識庫呼叫將自動作為一個特殊的外掛。", "plugin_offline_tips": "您的系統無法直接訪問插件市場數據,\n請手動複製網址並前往,以獲得更多插件", "plugin_offline_url": "網址", "pro_modal_feature_1": "外部組織架構接入與多租戶", @@ -361,11 +362,13 @@ "tool_active_system_config_price_desc": "需額外支付密鑰價格( {{price}} 積分/次)", "tool_active_system_config_price_desc_folder": "需額外支付密鑰價格,依據實際使用工具扣費。", "tool_detail": "工具詳情", - "tool_input_param_tip": "這個外掛正常執行需要設定相關資訊", + "tool_input_param_tip": "該工具正常運行需要配置相關信息", "tool_not_active": "該工具尚未激活", "tool_offset_tips": "該工具已無法使用,將中斷應用運行,請立即替換", + "tool_param_config": "參數配置", "tool_params_description_tips": "參數功能的描述,若作為工具調用參數,影響模型工具調用效果", "tool_run_free": "該工具運行無積分消耗", + "tool_select": "選擇工具", "tool_soon_offset_tips": "該工具將在後續下線,為了您的業務穩定,請盡快替換", "tool_tip": "作為工具執行時,該字段是否作為工具響應結果", "tool_type_tools": "工具", @@ -431,7 +434,9 @@ "toolkit_uninstalled": "未安裝", "toolkit_update_failed": "更新失敗", "toolkit_user_guide": "使用說明", + "tools": "工具", "tools_no_description": "這個工具沒有介紹~", + "tools_tip": "聲明模型可用的工具,可以實現與外部系統交互等擴展能力", "transition_to_workflow": "轉換成工作流程", "transition_to_workflow_create_new_placeholder": "建立新的應用程式,而不是修改目前應用程式", "transition_to_workflow_create_new_tip": "轉換成工作流程後,將無法轉換回簡易模式,請確認!", @@ -505,6 +510,7 @@ "version_copy": "副本", "version_initial_copy": "副本 - 初始狀態", "vision_model_title": "圖片辨識功能", + "wait_for_config": "等待配置", "week.Friday": "星期五", "week.Monday": "星期一", "week.Saturday": "星期六", diff --git a/packages/web/i18n/zh-Hant/common.json b/packages/web/i18n/zh-Hant/common.json index d0d1819ba..fdf75bae9 100644 --- a/packages/web/i18n/zh-Hant/common.json +++ b/packages/web/i18n/zh-Hant/common.json @@ -98,7 +98,6 @@ "add_new": "新增", "add_new_param": "新增參數", "add_success": "新增成功", - "agent_prompt_tips": "建議按照以下模板填寫,以獲得最佳效果。\n\n「角色身份」\n「任務目標」\n「任務流程與技能」\n輸入“/”插入全局變量;輸入“@”插入特定技能,包括應用、工具、知識庫、模型。", "all_quotes": "全部引用", "all_result": "完整結果", "app_evaluation": "應用評測(Beta)", @@ -218,7 +217,7 @@ "core.ai.Model": "AI 模型", "core.ai.Not deploy rerank model": "未部署重新排名模型", "core.ai.Prompt": "提示詞", - "core.ai.Support tool": "函式呼叫", + "core.ai.Support tool": "工具調用", "core.ai.model.Dataset Agent Model": "檔案處理模型", "core.ai.model.Vector Model": "索引模型", "core.ai.model.doc_index_and_dialog": "文件索引與對話索引", @@ -259,9 +258,7 @@ "core.app.TTS Tip": "開啟後,每次對話後可使用語音播放功能。使用此功能可能會產生額外費用。", "core.app.TTS start": "朗讀內容", "core.app.Team tags": "團隊標籤", - "core.app.Tool call": "工具呼叫", "core.app.ToolCall.No plugin": "沒有可用的外掛程式", - "core.app.ToolCall.Parameter setting": "輸入參數", "core.app.ToolCall.System": "系統", "core.app.ToolCall.Team": "團隊", "core.app.Welcome Text": "對話開場白", @@ -427,7 +424,6 @@ "core.chat.response.update_var_result": "變數更新結果(依序顯示多個變數更新結果)", "core.chat.response.user_select_result": "使用者選擇結果", "core.chat.tts.Stop Speech": "停止", - "core.dataset.Choose Dataset": "關聯知識庫", "core.dataset.Collection": "資料集", "core.dataset.Create dataset": "建立一個{{name}}", "core.dataset.Dataset": "知識庫", @@ -664,7 +660,7 @@ "core.module.output.label.query extension result": "最佳化結果", "core.module.template.AI function": "AI 功能", "core.module.template.AI response switch tip": "如果您希望目前節點不輸出內容,可以關閉此開關。AI 輸出的內容不會顯示給使用者,您可以手動使用「AI 回覆內容」進行特殊處理。", - "core.module.template.AI support tool tip": "支援函式呼叫的模型可以更好地使用工具呼叫。", + "core.module.template.AI support tool tip": "支持工具調用的模型,可以更好的使用工具。", "core.module.template.Basic Node": "基本功能", "core.module.template.Query extension": "問題最佳化", "core.module.template.System input module": "系統輸入模組", @@ -681,7 +677,6 @@ "core.module.template.system_config": "系統設定", "core.module.template.system_config_info": "可以設定應用程式的系統參數", "core.module.template.work_start": "流程開始", - "core.module.templates.Load plugin error": "載入外掛程式失敗", "core.module.variable add option": "新增選項", "core.module.variable.Custom type": "自訂變數", "core.module.variable.add option": "新增選項", diff --git a/projects/app/src/components/core/ai/AISettingModal/index.tsx b/projects/app/src/components/core/ai/AISettingModal/index.tsx index 41b4f5555..6bde63162 100644 --- a/projects/app/src/components/core/ai/AISettingModal/index.tsx +++ b/projects/app/src/components/core/ai/AISettingModal/index.tsx @@ -54,13 +54,18 @@ const LabelStyles: BoxProps = { mr: 5 }; -export type AIChatSettingsModalProps = {}; +export type AIChatSettingsModalProps = { + showStopSign?: boolean; + showResponseFormat?: boolean; +}; const AIChatSettingsModal = ({ onClose, onSuccess, defaultData, - llmModels = [] + llmModels = [], + showStopSign = true, + showResponseFormat = true }: AIChatSettingsModalProps & { onClose: () => void; onSuccess: (e: SettingAIDataType) => void; @@ -335,7 +340,7 @@ const AIChatSettingsModal = ({ )} - {llmSupportStopSign && ( + {showStopSign && llmSupportStopSign && ( @@ -360,7 +365,7 @@ const AIChatSettingsModal = ({ )} - {llmSupportResponseFormat && selectedModel?.responseFormatList && ( + {showResponseFormat && llmSupportResponseFormat && selectedModel?.responseFormatList && ( {t('app:response_format')} @@ -393,7 +398,7 @@ const AIChatSettingsModal = ({ )} {/* Json schema */} - {responseFormat === 'json_schema' && ( + {showResponseFormat && responseFormat === 'json_schema' && ( JSON Schema diff --git a/projects/app/src/components/core/app/FileSelect.tsx b/projects/app/src/components/core/app/FileSelect.tsx index 84d175e6c..af567648f 100644 --- a/projects/app/src/components/core/app/FileSelect.tsx +++ b/projects/app/src/components/core/app/FileSelect.tsx @@ -66,9 +66,7 @@ const FileSelect = ({ return ( - - {t('app:file_upload')} - + {t('app:file_upload')} diff --git a/projects/app/src/components/core/app/InputGuideConfig.tsx b/projects/app/src/components/core/app/InputGuideConfig.tsx index 014b32eb1..0fb5a9de7 100644 --- a/projects/app/src/components/core/app/InputGuideConfig.tsx +++ b/projects/app/src/components/core/app/InputGuideConfig.tsx @@ -85,7 +85,7 @@ const InputGuideConfig = ({ - {t('chat:input_guide')} + {t('chat:input_guide')} diff --git a/projects/app/src/components/core/app/QGConfig.tsx b/projects/app/src/components/core/app/QGConfig.tsx index 85f157d8a..4bb8e43c0 100644 --- a/projects/app/src/components/core/app/QGConfig.tsx +++ b/projects/app/src/components/core/app/QGConfig.tsx @@ -46,7 +46,7 @@ const QGConfig = ({ return ( - {t('common:core.app.Question Guide')} + {t('common:core.app.Question Guide')} diff --git a/projects/app/src/components/core/app/TTSSelect.tsx b/projects/app/src/components/core/app/TTSSelect.tsx index 1fd0c2681..e20dff0a1 100644 --- a/projects/app/src/components/core/app/TTSSelect.tsx +++ b/projects/app/src/components/core/app/TTSSelect.tsx @@ -114,7 +114,7 @@ const TTSSelect = ({ return ( - {t('common:core.app.TTS')} + {t('common:core.app.TTS')} diff --git a/projects/app/src/components/core/app/VariableEdit.tsx b/projects/app/src/components/core/app/VariableEdit.tsx index bf0289f58..df3f1f85d 100644 --- a/projects/app/src/components/core/app/VariableEdit.tsx +++ b/projects/app/src/components/core/app/VariableEdit.tsx @@ -92,9 +92,7 @@ const VariableEdit = ({ {/* Row box */} - - {t('common:core.module.Variable')} - + {t('common:core.module.Variable')}