diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index fc34851baa..ff7a2c08f7 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -703,6 +703,7 @@ "no_results": "No results", "open": "Open", "paste": "Paste", + "preview": "Preview", "prompt": "Prompt", "provider": "Provider", "reasoning_content": "Deep reasoning", @@ -711,6 +712,7 @@ "rename": "Rename", "reset": "Reset", "save": "Save", + "saved": "Saved", "search": "Search", "select": "Select", "selectedItems": "Selected {{count}} items", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 31be073d7f..28b2a8cad0 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -703,6 +703,7 @@ "no_results": "検索結果なし", "open": "開く", "paste": "貼り付け", + "preview": "プレビュー", "prompt": "プロンプト", "provider": "プロバイダー", "reasoning_content": "深く考察済み", @@ -711,6 +712,7 @@ "rename": "名前を変更", "reset": "リセット", "save": "保存", + "saved": "保存されました", "search": "検索", "select": "選択", "selectedItems": "{{count}}件の項目を選択しました", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index a368a910f5..aebe8beb9a 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -703,6 +703,7 @@ "no_results": "Результатов не найдено", "open": "Открыть", "paste": "Вставить", + "preview": "Предварительный просмотр", "prompt": "Промпт", "provider": "Провайдер", "reasoning_content": "Глубокий анализ", @@ -711,6 +712,7 @@ "rename": "Переименовать", "reset": "Сбросить", "save": "Сохранить", + "saved": "Сохранено", "search": "Поиск", "select": "Выбрать", "selectedItems": "Выбрано {{count}} элементов", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 1a7d633a33..f1d8c0c3f3 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -703,6 +703,7 @@ "no_results": "无结果", "open": "打开", "paste": "粘贴", + "preview": "预览", "prompt": "提示词", "provider": "提供商", "reasoning_content": "已深度思考", @@ -711,6 +712,7 @@ "rename": "重命名", "reset": "重置", "save": "保存", + "saved": "已保存", "search": "搜索", "select": "选择", "selectedItems": "已选择 {{count}} 项", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 13a6508873..e8eb0d1dd2 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -703,6 +703,7 @@ "no_results": "沒有結果", "open": "開啟", "paste": "貼上", + "preview": "預覽", "prompt": "提示詞", "provider": "供應商", "reasoning_content": "已深度思考", @@ -711,6 +712,7 @@ "rename": "重新命名", "reset": "重設", "save": "儲存", + "saved": "已儲存", "search": "搜尋", "select": "選擇", "selectedItems": "已選擇 {{count}} 項", diff --git a/src/renderer/src/pages/settings/AssistantSettings/AssistantPromptSettings.tsx b/src/renderer/src/pages/settings/AssistantSettings/AssistantPromptSettings.tsx index 643f386f32..bd24b5531a 100644 --- a/src/renderer/src/pages/settings/AssistantSettings/AssistantPromptSettings.tsx +++ b/src/renderer/src/pages/settings/AssistantSettings/AssistantPromptSettings.tsx @@ -1,6 +1,6 @@ import 'emoji-picker-element' -import { CloseCircleFilled, QuestionCircleOutlined } from '@ant-design/icons' +import { CloseCircleFilled } from '@ant-design/icons' import CodeEditor from '@renderer/components/CodeEditor' import EmojiPicker from '@renderer/components/EmojiPicker' import { Box, HSpaceBetweenStack, HStack } from '@renderer/components/Layout' @@ -9,6 +9,7 @@ import { estimateTextTokens } from '@renderer/services/TokenService' import { Assistant, AssistantSettings } from '@renderer/types' import { getLeadingEmoji } from '@renderer/utils' import { Button, Input, Popover } from 'antd' +import { Edit, Eye, HelpCircle } from 'lucide-react' import { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import ReactMarkdown from 'react-markdown' @@ -29,7 +30,7 @@ const AssistantPromptSettings: React.FC = ({ assistant, updateAssistant } const [prompt, setPrompt] = useState(assistant.prompt) const [tokenCount, setTokenCount] = useState(0) const { t } = useTranslation() - const [showMarkdown, setShowMarkdown] = useState(prompt.length > 0) + const [showPreview, setShowPreview] = useState(prompt.length > 0) useEffect(() => { const updateTokenCount = async () => { @@ -47,6 +48,7 @@ const AssistantPromptSettings: React.FC = ({ assistant, updateAssistant } const onUpdate = () => { const _assistant = { ...assistant, name: name.trim(), emoji, prompt } updateAssistant(_assistant) + window.message.success(t('common.saved')) } const handleEmojiSelect = (selectedEmoji: string) => { @@ -112,12 +114,12 @@ const AssistantPromptSettings: React.FC = ({ assistant, updateAssistant } {t('common.prompt')} - + - {showMarkdown ? ( - setShowMarkdown(false)}> + {showPreview ? ( + setShowPreview(false)}> {processedPrompt || prompt}
@@ -147,8 +149,11 @@ const AssistantPromptSettings: React.FC = ({ assistant, updateAssistant } Tokens: {tokenCount} - @@ -160,6 +165,10 @@ const Container = styled.div` flex: 1; flex-direction: column; overflow: hidden; + + .ant-btn { + line-height: 0; + } ` const EmojiButtonWrapper = styled.div`