From 11f2aaf7b14b43f481eb9530488c75df919637d8 Mon Sep 17 00:00:00 2001 From: hurxxxx Date: Wed, 19 Mar 2025 21:55:15 +0900 Subject: [PATCH] feat: Automatically enter edit mode when creating a new folder --- src/lib/components/layout/Sidebar.svelte | 7 +++++++ src/lib/components/layout/Sidebar/RecursiveFolder.svelte | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 0ab13e6ad..144b03b0b 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -77,6 +77,7 @@ let allChatsLoaded = false; let folders = {}; + let newFolderId = null; const initFolders = async () => { const folderList = await getFolders(localStorage.token).catch((error) => { @@ -90,6 +91,11 @@ for (const folder of folderList) { // Ensure folder is added to folders with its data folders[folder.id] = { ...(folders[folder.id] || {}), ...folder }; + + if (newFolderId && folder.id === newFolderId) { + folders[folder.id].isNew = true; + newFolderId = null; + } } // Second pass: Tie child folders to their parents @@ -150,6 +156,7 @@ }); if (res) { + newFolderId = res.id; await initFolders(); } }; diff --git a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte index 085eb683b..461b82202 100644 --- a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte +++ b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte @@ -215,6 +215,14 @@ // Event listener for when dragging ends folderElement.addEventListener('dragend', onDragEnd); } + + if (folders[folderId].isNew) { + folders[folderId].isNew = false; + + setTimeout(() => { + editHandler(); + }, 100); + } }); onDestroy(() => {