From e29c262394022b9969a8f650cbc45aa192e39dc1 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 23 Nov 2025 20:04:54 -0500 Subject: [PATCH] refac/fix: refresh folder chat list --- src/lib/components/layout/Sidebar.svelte | 4 ++++ src/lib/components/layout/Sidebar/Folders.svelte | 11 +++++++++++ .../components/layout/Sidebar/RecursiveFolder.svelte | 11 ----------- 3 files changed, 15 insertions(+), 11 deletions(-) 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; }