diff --git a/src/assets/locale/en/settings.json b/src/assets/locale/en/settings.json index c4405fe..91b7711 100644 --- a/src/assets/locale/en/settings.json +++ b/src/assets/locale/en/settings.json @@ -170,7 +170,8 @@ "label": "Prompt", "placeholder": "Enter Prompt", "required": "Please enter a prompt", - "help": "You can use {key} as variable in your prompt." + "help": "You can use {key} as variable in your prompt.", + "missingTextPlaceholder": "The {text} variable is missing in the prompt. Please add it." }, "isSystem": { "label": "Is System Prompt" diff --git a/src/assets/locale/es/settings.json b/src/assets/locale/es/settings.json index 7884f46..2c67192 100644 --- a/src/assets/locale/es/settings.json +++ b/src/assets/locale/es/settings.json @@ -170,7 +170,8 @@ "label": "Prompt", "placeholder": "Ingrese un prompt", "required": "Por favor, ingrese un prompt", - "help": "Puede usar {key} como variable en su prompt." + "help": "Puede usar {key} como variable en su prompt.", + "missingTextPlaceholder": "Falta la variable {text} en el mensaje. Por favor, añádela." }, "isSystem": { "label": "Es un Prompt del Sistema" diff --git a/src/assets/locale/fr/settings.json b/src/assets/locale/fr/settings.json index eaf89af..5e786e4 100644 --- a/src/assets/locale/fr/settings.json +++ b/src/assets/locale/fr/settings.json @@ -170,7 +170,8 @@ "label": "Prompt", "placeholder": "Entrer Prompt", "required": "Veuillez entrer un prompt", - "help": "Vous pouvez utiliser {key} comme variable dans votre prompt." + "help": "Vous pouvez utiliser {key} comme variable dans votre prompt.", + "missingTextPlaceholder": "La variable {text} est manquante dans le message. Veuillez l'ajouter." }, "isSystem": { "label": "Est un prompt système" diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json index 07f236f..a147bb9 100644 --- a/src/assets/locale/it/settings.json +++ b/src/assets/locale/it/settings.json @@ -170,7 +170,8 @@ "label": "Prompt", "placeholder": "Inserisci Prompt", "required": "Scrivi il prompt", - "help": "Puoi usare {key} come variabile nel tuo prompt." + "help": "Puoi usare {key} come variabile nel tuo prompt.", + "missingTextPlaceholder": "La variabile {text} manca nel prompt. Per favore, aggiungila." }, "isSystem": { "label": "Prompt di Sistema" diff --git a/src/assets/locale/ja-JP/settings.json b/src/assets/locale/ja-JP/settings.json index 546f5fd..6a78efd 100644 --- a/src/assets/locale/ja-JP/settings.json +++ b/src/assets/locale/ja-JP/settings.json @@ -173,7 +173,8 @@ "label": "プロンプト", "placeholder": "プロンプトを入力", "required": "プロンプトを入力してください", - "help": "プロンプト内で{key}を変数として使用できます。" + "help": "プロンプト内で{key}を変数として使用できます。", + "missingTextPlaceholder": "プロンプトに{text}変数がありません。追加してください。" }, "isSystem": { "label": "システムプロンプト" diff --git a/src/assets/locale/ml/settings.json b/src/assets/locale/ml/settings.json index 9578064..025c706 100644 --- a/src/assets/locale/ml/settings.json +++ b/src/assets/locale/ml/settings.json @@ -173,7 +173,8 @@ "label": "പ്രോംപ്റ്റ്", "placeholder": "പ്രോംപ്റ്റ് നല്കുക", "required": "ദയവായി ഒരു പ്രോംപ്റ്റ് നല്കുക", - "help": "നിങ്ങള്ക്ക് {key} എന്ന രീതിയില് പ്രോംപ്റ്റില് വേരിയബിളുകള് ഉപയോഗിക്കാവുന്നതാണ്." + "help": "നിങ്ങള്ക്ക് {key} എന്ന രീതിയില് പ്രോംപ്റ്റില് വേരിയബിളുകള് ഉപയോഗിക്കാവുന്നതാണ്.", + "missingTextPlaceholder": "പ്രോംപ്റ്റിൽ {text} വേരിയബിൾ കാണുന്നില്ല. ദയവായി അത് ചേർക്കുക." }, "isSystem": { "label": "സിസ്റ്റം പ്രോംപ്റ്റ് ആണോ" diff --git a/src/assets/locale/pt-BR/settings.json b/src/assets/locale/pt-BR/settings.json index 5de4779..b7d2ae4 100644 --- a/src/assets/locale/pt-BR/settings.json +++ b/src/assets/locale/pt-BR/settings.json @@ -170,7 +170,8 @@ "label": "Prompt", "placeholder": "Digite o Prompt", "required": "Por favor, insira um prompt", - "help": "Você pode usar {key} como variável em seu prompt." + "help": "Você pode usar {key} como variável em seu prompt.", + "missingTextPlaceholder": "A variável {text} está faltando no prompt. Por favor, adicione-a." }, "isSystem": { "label": "É um Prompt do Sistema" diff --git a/src/assets/locale/ru/settings.json b/src/assets/locale/ru/settings.json index f2f4619..619a03b 100644 --- a/src/assets/locale/ru/settings.json +++ b/src/assets/locale/ru/settings.json @@ -171,7 +171,8 @@ "label": "Подсказка", "placeholder": "Введите подсказку", "required": "Пожалуйста, введите подсказку", - "help": "Вы можете использовать {key} в качестве переменной в своей подсказке." + "help": "Вы можете использовать {key} в качестве переменной в своей подсказке.", + "missingTextPlaceholder": "Переменная {text} отсутствует в подсказке. Пожалуйста, добавьте ее." }, "isSystem": { "label": "Это системная подсказка" diff --git a/src/assets/locale/zh/settings.json b/src/assets/locale/zh/settings.json index 6cfbad2..78d2e7c 100644 --- a/src/assets/locale/zh/settings.json +++ b/src/assets/locale/zh/settings.json @@ -174,7 +174,8 @@ "label": "提示词", "placeholder": "输入提示词", "required": "请输入提示词", - "help": "您可以在提示词中使用 {key} 作为变量。" + "help": "您可以在提示词中使用 {key} 作为变量。", + "missingTextPlaceholder": "提示中缺少{text}变量。请添加它。" }, "isSystem": { "label": "是否为系统提示词" diff --git a/src/components/Option/Prompt/index.tsx b/src/components/Option/Prompt/index.tsx index 90642b8..fada0fe 100644 --- a/src/components/Option/Prompt/index.tsx +++ b/src/components/Option/Prompt/index.tsx @@ -15,7 +15,10 @@ import { Trash2, Pen, Computer, Zap } from "lucide-react" import { useState } from "react" import { useTranslation } from "react-i18next" import { deletePromptById, getAllPrompts, savePrompt, updatePrompt } from "@/db" -import { getAllCopilotPrompts } from "@/services/application" +import { + getAllCopilotPrompts, + setAllCopilotPrompts +} from "@/services/application" import { tagColors } from "@/utils/color" export const PromptBody = () => { @@ -29,6 +32,11 @@ export const PromptBody = () => { const [selectedSegment, setSelectedSegment] = useState<"custom" | "copilot">( "custom" ) + + const [openCopilotEdit, setOpenCopilotEdit] = useState(false) + const [editCopilotId, setEditCopilotId] = useState("") + const [editCopilotForm] = Form.useForm() + const { data, status } = useQuery({ queryKey: ["fetchAllPrompts"], queryFn: getAllPrompts @@ -109,6 +117,36 @@ export const PromptBody = () => { } }) + const { mutate: updateCopilotPrompt, isPending: isUpdatingCopilotPrompt } = + useMutation({ + mutationFn: async (data: any) => { + return await setAllCopilotPrompts([ + { + key: data.key, + prompt: data.prompt + } + ]) + }, + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: ["fetchCopilotPrompts"] + }) + setOpenCopilotEdit(false) + editCopilotForm.resetFields() + notification.success({ + message: t("managePrompts.notification.updatedSuccess"), + description: t("managePrompts.notification.updatedSuccessDesc") + }) + }, + onError: (error) => { + notification.error({ + message: t("managePrompts.notification.error"), + description: + error?.message || t("managePrompts.notification.someError") + }) + } + }) + function customPrompts() { return (