This commit is contained in:
Timothy Jaeryang Baek
2025-09-26 21:16:34 -05:00
parent c80bb31968
commit a05dab6298
6 changed files with 100 additions and 33 deletions
+6
View File
@@ -80,7 +80,10 @@
let allChatsLoaded = false;
let showCreateFolderModal = false;
let folders = {};
let folderRegistry = {};
let newFolderId = null;
const initFolders = async () => {
@@ -922,6 +925,7 @@
}}
>
<Folders
bind:folderRegistry
{folders}
{shiftKey}
onDelete={(folderId) => {
@@ -981,6 +985,8 @@
return null;
}
);
folderRegistry[chat.folder_id]?.setFolderItems();
}
if (chat.pinned) {
@@ -1,8 +1,11 @@
<script lang="ts">
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
import RecursiveFolder from './RecursiveFolder.svelte';
export let folderRegistry = {};
export let folders = {};
export let shiftKey = false;
@@ -19,11 +22,7 @@
})
);
let folderRegistry = {};
const onItemMove = (e) => {
console.log(`onItemMove`, e, folderRegistry);
if (e.originFolderId) {
folderRegistry[e.originFolderId]?.setFolderItems();
}
@@ -12,15 +12,16 @@
import Textarea from '$lib/components/common/Textarea.svelte';
import Knowledge from '$lib/components/workspace/Models/Knowledge.svelte';
import { getFolderById } from '$lib/apis/folders';
const i18n = getContext('i18n');
export let show = false;
export let onSubmit: Function = (e) => {};
export let folderId = null;
export let edit = false;
export let folder = null;
let folder = null;
let name = '';
let meta = {
background_image_url: null
@@ -50,15 +51,24 @@
loading = false;
};
const init = () => {
name = folder.name;
meta = folder.meta || {
background_image_url: null
};
data = folder.data || {
system_prompt: '',
files: []
};
const init = async () => {
if (folderId) {
folder = await getFolderById(localStorage.token, folderId).catch((error) => {
toast.error(`${error}`);
return null;
});
name = folder.name;
meta = folder.meta || {
background_image_url: null
};
data = folder.data || {
system_prompt: '',
files: []
};
}
focusInput();
};
const focusInput = async () => {
@@ -71,10 +81,6 @@
};
$: if (show) {
focusInput();
}
$: if (folder) {
init();
}
@@ -17,7 +17,8 @@
deleteFolderById,
updateFolderIsExpandedById,
updateFolderById,
updateFolderParentIdById
updateFolderParentIdById,
getFolderById
} from '$lib/apis/folders';
import {
getChatById,
@@ -328,9 +329,15 @@
toast.success($i18n.t('Folder updated successfully'));
if ($selectedFolder?.id === folderId) {
selectedFolder.set(folders[folderId]);
}
const folder = await getFolderById(localStorage.token, folderId).catch((error) => {
toast.error(`${error}`);
return null;
});
if (folder) {
selectedFolder.set(folder);
}
}
dispatch('update');
}
};
@@ -361,6 +368,17 @@
toast.error(`${error}`);
return [];
});
if ($selectedFolder?.id === folderId) {
const folder = await getFolderById(localStorage.token, folderId).catch((error) => {
toast.error(`${error}`);
return null;
});
if (folder) {
selectedFolder.set(folder);
}
}
} else {
chats = null;
}
@@ -417,12 +435,7 @@
</div>
</DeleteConfirmDialog>
<FolderModal
bind:show={showFolderModal}
edit={true}
folder={folders[folderId]}
onSubmit={updateHandler}
/>
<FolderModal bind:show={showFolderModal} edit={true} {folderId} onSubmit={updateHandler} />
{#if dragged && x && y}
<DragGhost {x} {y}>
@@ -477,7 +490,14 @@
clickTimer = setTimeout(async () => {
await goto('/');
selectedFolder.set(folders[folderId]);
const folder = await getFolderById(localStorage.token, folderId).catch((error) => {
toast.error(`${error}`);
return null;
});
if (folder) {
selectedFolder.set(folder);
}
if ($mobile) {
showSidebar.set(!$showSidebar);