diff --git a/src/lib/components/common/Folder.svelte b/src/lib/components/common/Folder.svelte
index dd391a634..45c2386d8 100644
--- a/src/lib/components/common/Folder.svelte
+++ b/src/lib/components/common/Folder.svelte
@@ -26,6 +26,7 @@
export let dragAndDrop = true;
let folderElement;
+ let loaded = false;
let draggedOver = false;
@@ -103,6 +104,13 @@
};
onMount(() => {
+ const state = localStorage.getItem(`${id}-folder-state`);
+ if (state !== null) {
+ open = state === 'true';
+ }
+
+ loaded = true;
+
if (!dragAndDrop) {
return;
}
@@ -122,70 +130,73 @@
- {#if draggedOver}
-
- {/if}
-
- {#if collapsible}
-
{
- dispatch('change', state);
- }}
- >
-
+ {#if loaded}
+ {#if draggedOver}
+ {/if}
+
+ {#if collapsible}
+ {
+ dispatch('change', state);
+ localStorage.setItem(`${id}-folder-state`, `${state}`);
+ }}
>
-
+ {:else}
+
+ {/if}
{/if}
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index 2958bd4a5..0d9485645 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -72,8 +72,6 @@
let shiftKey = false;
let selectedChatId = null;
- let showPinnedChat = true;
-
let showCreateChannel = false;
// Pagination variables
@@ -354,7 +352,6 @@
let unsubscribers = [];
onMount(async () => {
- showPinnedChat = localStorage?.showPinnedChat ? localStorage.showPinnedChat === 'true' : true;
await showSidebar.set(!$mobile ? localStorage.sidebar === 'true' : false);
unsubscribers = [
@@ -892,6 +889,7 @@
{#if ($models ?? []).length > 0 && ($settings?.pinnedModels ?? []).length > 0}