diff --git a/src/lib/components/chat/Placeholder/FolderTitle.svelte b/src/lib/components/chat/Placeholder/FolderTitle.svelte index d2546f595a..c48654accd 100644 --- a/src/lib/components/chat/Placeholder/FolderTitle.svelte +++ b/src/lib/components/chat/Placeholder/FolderTitle.svelte @@ -11,7 +11,12 @@ import { selectedFolder } from '$lib/stores'; - import { deleteFolderById, getFolderById, updateFolderById } from '$lib/apis/folders'; + import { + deleteFolderById, + getFolderById, + updateFolderById, + createNewFolder + } from '$lib/apis/folders'; import { getChatsByFolderId } from '$lib/apis/chats'; import FolderModal from '$lib/components/layout/Sidebar/Folders/FolderModal.svelte'; @@ -30,6 +35,7 @@ export let onDelete: Function = (folderId) => {}; let showFolderModal = false; + let showCreateSubFolderModal = false; let showDeleteConfirm = false; let deleteFolderContents = true; @@ -127,6 +133,30 @@ saveAs(blob, `folder-${folder.name}-export-${Date.now()}.json`); }; + + const createSubFolderHandler = async ({ name, meta, data, parent_id }) => { + if (name === '') { + toast.error($i18n.t('Folder name cannot be empty.')); + return; + } + + name = name.trim(); + + const res = await createNewFolder(localStorage.token, { + name, + data, + meta, + parent_id + }).catch((error) => { + toast.error(`${error}`); + return null; + }); + + if (res) { + toast.success($i18n.t('Folder created successfully')); + onUpdate(); + } + }; {#if folder} @@ -137,6 +167,12 @@ onSubmit={updateHandler} /> + + {$i18n.t(`Are you sure you want to delete "{{NAME}}"?`, { - NAME: folders[folderId].name + NAME: folder.name })} @@ -202,6 +238,9 @@ onExport={() => { exportHandler(); }} + onCreateSubFolder={() => { + showCreateSubFolderModal = true; + }} > {}; export let onExport = () => {}; export let onDelete = () => {}; - export let onCreateSub = () => {}; + export let onCreateSubFolder = () => {}; let show = false; @@ -47,7 +47,7 @@ { - onCreateSub(); + onCreateSubFolder(); }} > diff --git a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte index 2403c8e9ae..fa80719d5a 100644 --- a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte +++ b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte @@ -627,7 +627,7 @@ onExport={() => { exportHandler(); }} - onCreateSub={() => { + onCreateSubFolder={() => { createSubFolderParentId = folderId; showCreateSubFolderModal = true; }}