diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 915ec41cf5..e1a89c2761 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -85,6 +85,10 @@ let newFolderId = null; + $: if ($selectedFolder) { + initFolders(); + } + const initFolders = async () => { const folderList = await getFolders(localStorage.token).catch((error) => { toast.error(`${error}`); diff --git a/src/lib/components/layout/Sidebar/Folders.svelte b/src/lib/components/layout/Sidebar/Folders.svelte index 6c99dc5404..ca394c1cb8 100644 --- a/src/lib/components/layout/Sidebar/Folders.svelte +++ b/src/lib/components/layout/Sidebar/Folders.svelte @@ -3,6 +3,7 @@ const dispatch = createEventDispatcher(); import RecursiveFolder from './RecursiveFolder.svelte'; + import { chatId, selectedFolder } from '$lib/stores'; export let folderRegistry = {}; @@ -27,6 +28,16 @@ folderRegistry[e.originFolderId]?.setFolderItems(); } }; + + const loadFolderItems = () => { + for (const folderId of Object.keys(folders)) { + folderRegistry[folderId]?.setFolderItems(); + } + }; + + $: if (folders || ($selectedFolder && $chatId)) { + loadFolderItems(); + } {#each folderList as folderId (folderId)} diff --git a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte index 4609f531e3..ed210cf7c4 100644 --- a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte +++ b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte @@ -374,17 +374,6 @@ toast.error(`${error}`); return []; }); - - if ($selectedFolder?.id === folderId) { - const folder = await getFolderById(localStorage.token, folderId).catch((error) => { - toast.error(`${error}`); - return null; - }); - - if (folder) { - await selectedFolder.set(folder); - } - } } else { chats = null; }