From 2b7094d7ae9f41fdc9b7517cc7b8d954c3ebc3dd Mon Sep 17 00:00:00 2001 From: "qcgm197874@gmail.com" Date: Sat, 22 Jul 2023 20:22:54 +0800 Subject: [PATCH] Feat:Supports editing of predefined prompts. If the title is the same after editing, it will replace the original prompt. Otherwise, it will create a new prompt. --- src/components/PromptModal.vue | 9 +++++---- src/store/index.js | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/PromptModal.vue b/src/components/PromptModal.vue index 06aa4975b1..d32b78f819 100644 --- a/src/components/PromptModal.vue +++ b/src/components/PromptModal.vue @@ -77,15 +77,14 @@ size="x-small" icon="mdi-pencil" @click="edit(item.raw)" - v-if="item.raw.index >= 0" - > + > + > @@ -185,7 +184,9 @@ const userPrompts = computed(() => { }); }); const data = computed(() => { - const defaultPrompts = prompts[language.value].map((prompt) => { + const userPromptsTitles = userPrompts.value.map(d => d.title); + const valid = prompts[language.value].filter(d=>!userPromptsTitles.includes(d.act)); + const defaultPrompts = valid.map((prompt) => { return { title: prompt.act, prompt: prompt.prompt }; }); diff --git a/src/store/index.js b/src/store/index.js index f94c13a625..628d8464ad 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -317,7 +317,8 @@ export default createStore({ addPrompt.index = state.prompts.push(addPrompt) - 1; }, editPrompt(state, values) { - const { index } = values; + let { index } = values; + index=index || state.prompts.length state.prompts[index] = { ...state.prompts[index], ...values }; }, deletePrompt(state, values) {