From 91277726cd666276ce4b41a722a142eb539089b8 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 15 Jul 2026 04:35:52 -0400 Subject: [PATCH] refac --- .../layout/Sidebar/Folders/FolderModal.svelte | 2 +- src/lib/components/workspace/Prompts.svelte | 31 ++++++++++++- .../workspace/Prompts/PromptEditor.svelte | 45 ++++++++++++++++--- 3 files changed, 71 insertions(+), 7 deletions(-) diff --git a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte index dc7d7057b3..f522b17d23 100644 --- a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte +++ b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte @@ -232,7 +232,7 @@
-
+
{$i18n.t('Knowledge')}
diff --git a/src/lib/components/workspace/Prompts.svelte b/src/lib/components/workspace/Prompts.svelte index b9b5ab017d..e08d9b3c62 100644 --- a/src/lib/components/workspace/Prompts.svelte +++ b/src/lib/components/workspace/Prompts.svelte @@ -21,6 +21,8 @@ import Clipboard from '../icons/Clipboard.svelte'; import Check from '../icons/Check.svelte'; import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte'; + import Modal from '../common/Modal.svelte'; + import PromptEditor from './Prompts/PromptEditor.svelte'; import Search from '../icons/Search.svelte'; import Spinner from '../common/Spinner.svelte'; import Tooltip from '../common/Tooltip.svelte'; @@ -49,6 +51,7 @@ let loading = false; let showDeleteConfirm = false; + let showCreateModal = false; let deletePrompt = null; let tagsContainerElement: HTMLDivElement; @@ -63,7 +66,9 @@ { id: 'prompts-new', label: $i18n.t('Create'), - href: '/workspace/prompts/create' + onClick: () => { + showCreateModal = true; + } }, { id: 'prompts-import', @@ -155,6 +160,20 @@ ); }; + const createPromptHandler = async (prompt) => { + const res = await createNewPrompt(localStorage.token, prompt).catch((error) => { + toast.error(`${error}`); + return null; + }); + + if (res) { + toast.success($i18n.t('Prompt created successfully')); + showCreateModal = false; + page = 1; + await getPromptList(); + } + }; + const cloneHandler = async (prompt) => { const clonedPrompt = { ...prompt }; @@ -257,6 +276,16 @@
+ + { + showCreateModal = false; + }} + /> + + {}; const i18n = getContext('i18n'); @@ -533,8 +535,27 @@
{:else} -
-
+
+ {#if modal} +
+

{$i18n.t('Create Prompt')}

+ +
+ {/if} + +
-
+
+ {#if modal} + + {/if} +