From 97faeccebf064f8d29e4dee00d89f4eec5be7ca7 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 1 Oct 2025 21:56:32 -0500 Subject: [PATCH] refac --- src/lib/components/chat/Chat.svelte | 9 +- src/lib/components/chat/MessageInput.svelte | 2 - .../chat/Messages/ResponseMessage.svelte | 2 - src/lib/components/common/CodeEditor.svelte | 1 - src/lib/components/layout/Sidebar.svelte | 99 +++++++++---------- .../layout/Sidebar/RecursiveFolder.svelte | 9 +- 6 files changed, 60 insertions(+), 62 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 2be7b0b1a9..819da85ba1 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -220,10 +220,15 @@ } const saveSessionSelectedModels = () => { - if (selectedModels.length === 0 || (selectedModels.length === 1 && selectedModels[0] === '')) { + const selectedModelsString = JSON.stringify(selectedModels); + if ( + selectedModels.length === 0 || + (selectedModels.length === 1 && selectedModels[0] === '') || + sessionStorage.selectedModels === selectedModelsString + ) { return; } - sessionStorage.selectedModels = JSON.stringify(selectedModels); + sessionStorage.selectedModels = selectedModelsString; console.log('saveSessionSelectedModels', selectedModels, sessionStorage.selectedModels); }; diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 31aa1ab0f9..bedcd13985 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -885,8 +885,6 @@ }) } ]; - - console.log(suggestions); loaded = true; window.setTimeout(() => { diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index f807bd0fab..2a721e1428 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -576,8 +576,6 @@ await tick(); if (buttonsContainerElement) { - console.log(buttonsContainerElement); - buttonsContainerElement.addEventListener('wheel', function (event) { if (buttonsContainerElement.scrollWidth <= buttonsContainerElement.clientWidth) { // If the container is not scrollable, horizontal scroll diff --git a/src/lib/components/common/CodeEditor.svelte b/src/lib/components/common/CodeEditor.svelte index 44826fda00..50c2a7cd18 100644 --- a/src/lib/components/common/CodeEditor.svelte +++ b/src/lib/components/common/CodeEditor.svelte @@ -250,7 +250,6 @@ print("${endTag}") }; onMount(() => { - console.log(value); if (value === '') { value = boilerplate; } diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 3e9bb38f0a..0294bd8091 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -125,13 +125,6 @@ }); } } - - await tick(); - for (const folderId in folders) { - if (folders[folderId] && folders[folderId].is_expanded) { - folderRegistry[folderId]?.setFolderItems(); - } - } }; const createFolder = async ({ name, data }) => { @@ -185,14 +178,15 @@ const initChatList = async () => { // Reset pagination variables - tags.set(await getAllTags(localStorage.token)); - pinnedChats.set(await getPinnedChatList(localStorage.token)); - initFolders(); - + console.log('initChatList'); currentChatPage.set(1); allChatsLoaded = false; await chats.set(await getChatList(localStorage.token, $currentChatPage)); + const _chats = await getChatList(localStorage.token, $currentChatPage); + await chats.set(_chats); + })() + ]); // Enable pagination scrollPaginationEnabled.set(true); @@ -342,57 +336,52 @@ selectedChatId = null; }; + let unsubscribers = []; onMount(async () => { showPinnedChat = localStorage?.showPinnedChat ? localStorage.showPinnedChat === 'true' : true; + await showSidebar.set(!$mobile ? localStorage.sidebar === 'true' : false); - mobile.subscribe((value) => { - if ($showSidebar && value) { - showSidebar.set(false); - } - - if ($showSidebar && !value) { - const navElement = document.getElementsByTagName('nav')[0]; - if (navElement) { - navElement.style['-webkit-app-region'] = 'drag'; + unsubscribers = [ + mobile.subscribe((value) => { + if ($showSidebar && value) { + showSidebar.set(false); } - } - if (!$showSidebar && !value) { - showSidebar.set(true); - } - }); - - showSidebar.set(!$mobile ? localStorage.sidebar === 'true' : false); - showSidebar.subscribe(async (value) => { - localStorage.sidebar = value; - - // nav element is not available on the first render - const navElement = document.getElementsByTagName('nav')[0]; - - if (navElement) { - if ($mobile) { - if (!value) { + if ($showSidebar && !value) { + const navElement = document.getElementsByTagName('nav')[0]; + if (navElement) { navElement.style['-webkit-app-region'] = 'drag'; - } else { - navElement.style['-webkit-app-region'] = 'no-drag'; } - } else { - navElement.style['-webkit-app-region'] = 'drag'; } - } - if (!value) { - await initChannels(); - await initChatList(); - } - }); + if (!$showSidebar && !value) { + showSidebar.set(true); + } + }), + showSidebar.subscribe(async (value) => { + localStorage.sidebar = value; - chats.subscribe((value) => { - initFolders(); - }); + // nav element is not available on the first render + const navElement = document.getElementsByTagName('nav')[0]; - await initChannels(); - await initChatList(); + if (navElement) { + if ($mobile) { + if (!value) { + navElement.style['-webkit-app-region'] = 'drag'; + } else { + navElement.style['-webkit-app-region'] = 'no-drag'; + } + } else { + navElement.style['-webkit-app-region'] = 'drag'; + } + } + + if (value) { + await initChannels(); + await initChatList(); + } + }) + ]; window.addEventListener('keydown', onKeyDown); window.addEventListener('keyup', onKeyUp); @@ -411,6 +400,14 @@ }); onDestroy(() => { + if (unsubscribers && unsubscribers.length > 0) { + unsubscribers.forEach((unsubscriber) => { + if (unsubscriber) { + unsubscriber(); + } + }); + } + window.removeEventListener('keydown', onKeyDown); window.removeEventListener('keyup', onKeyUp); diff --git a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte index 5187bba242..a748352d2f 100644 --- a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte +++ b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte @@ -246,11 +246,12 @@ }; onMount(async () => { - folderRegistry[folderId] = { - setFolderItems: () => setFolderItems() - }; - open = folders[folderId].is_expanded; + folderRegistry[folderId] = { + setFolderItems: () => { + setFolderItems(); + } + }; if (folderElement) { folderElement.addEventListener('dragover', onDragOver); folderElement.addEventListener('drop', onDrop);