Skip to content

Commit 1f0948b

Browse files
committed
refac
1 parent 746979d commit 1f0948b

3 files changed

Lines changed: 45 additions & 6 deletions

File tree

src/lib/components/chat/Placeholder/FolderTitle.svelte

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111
1212
import { selectedFolder } from '$lib/stores';
1313
14-
import { deleteFolderById, getFolderById, updateFolderById } from '$lib/apis/folders';
14+
import {
15+
deleteFolderById,
16+
getFolderById,
17+
updateFolderById,
18+
createNewFolder
19+
} from '$lib/apis/folders';
1520
import { getChatsByFolderId } from '$lib/apis/chats';
1621
1722
import FolderModal from '$lib/components/layout/Sidebar/Folders/FolderModal.svelte';
@@ -30,6 +35,7 @@
3035
export let onDelete: Function = (folderId) => {};
3136
3237
let showFolderModal = false;
38+
let showCreateSubFolderModal = false;
3339
let showDeleteConfirm = false;
3440
let deleteFolderContents = true;
3541
@@ -127,6 +133,30 @@
127133
128134
saveAs(blob, `folder-${folder.name}-export-${Date.now()}.json`);
129135
};
136+
137+
const createSubFolderHandler = async ({ name, meta, data, parent_id }) => {
138+
if (name === '') {
139+
toast.error($i18n.t('Folder name cannot be empty.'));
140+
return;
141+
}
142+
143+
name = name.trim();
144+
145+
const res = await createNewFolder(localStorage.token, {
146+
name,
147+
data,
148+
meta,
149+
parent_id
150+
}).catch((error) => {
151+
toast.error(`${error}`);
152+
return null;
153+
});
154+
155+
if (res) {
156+
toast.success($i18n.t('Folder created successfully'));
157+
onUpdate();
158+
}
159+
};
130160
</script>
131161

132162
{#if folder}
@@ -137,6 +167,12 @@
137167
onSubmit={updateHandler}
138168
/>
139169

170+
<FolderModal
171+
bind:show={showCreateSubFolderModal}
172+
parentId={folder.id}
173+
onSubmit={createSubFolderHandler}
174+
/>
175+
140176
<DeleteConfirmDialog
141177
bind:show={showDeleteConfirm}
142178
title={$i18n.t('Delete folder?')}
@@ -146,11 +182,11 @@
146182
>
147183
<div class=" text-sm text-gray-700 dark:text-gray-300 flex-1 line-clamp-3 mb-2">
148184
<!-- {$i18n.t('This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.', {
149-
NAME: folders[folderId].name
185+
NAME: folder.name
150186
})} -->
151187

152188
{$i18n.t(`Are you sure you want to delete "{{NAME}}"?`, {
153-
NAME: folders[folderId].name
189+
NAME: folder.name
154190
})}
155191
</div>
156192

@@ -202,6 +238,9 @@
202238
onExport={() => {
203239
exportHandler();
204240
}}
241+
onCreateSubFolder={() => {
242+
showCreateSubFolderModal = true;
243+
}}
205244
>
206245
<button
207246
class="p-1.5 dark:hover:bg-gray-850 rounded-full touch-auto"

src/lib/components/layout/Sidebar/Folders/FolderMenu.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
export let onEdit = () => {};
1616
export let onExport = () => {};
1717
export let onDelete = () => {};
18-
export let onCreateSub = () => {};
18+
export let onCreateSubFolder = () => {};
1919
2020
let show = false;
2121
</script>
@@ -47,7 +47,7 @@
4747
<button
4848
class="flex gap-2 items-center px-3 py-1.5 text-sm select-none cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl w-full"
4949
on:click={() => {
50-
onCreateSub();
50+
onCreateSubFolder();
5151
}}
5252
>
5353
<Folder />

src/lib/components/layout/Sidebar/RecursiveFolder.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@
627627
onExport={() => {
628628
exportHandler();
629629
}}
630-
onCreateSub={() => {
630+
onCreateSubFolder={() => {
631631
createSubFolderParentId = folderId;
632632
showCreateSubFolderModal = true;
633633
}}

0 commit comments

Comments
 (0)