From 8da08ad73a6e25e56878cef16b07d2ce2db4d0fe Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 22 Jul 2025 23:44:10 +0400 Subject: [PATCH] refac: chat item edit title behaviour --- src/lib/components/layout/Sidebar/ChatItem.svelte | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/components/layout/Sidebar/ChatItem.svelte b/src/lib/components/layout/Sidebar/ChatItem.svelte index 324551bde2..33cb95b0ac 100644 --- a/src/lib/components/layout/Sidebar/ChatItem.svelte +++ b/src/lib/components/layout/Sidebar/ChatItem.svelte @@ -184,8 +184,18 @@ dragged = false; }; + const onClickOutside = (event) => { + if (confirmEdit && !event.target.closest(`#chat-title-input-${id}`)) { + confirmEdit = false; + ignoreBlur = false; + chatTitle = ''; + } + }; + onMount(() => { if (itemElement) { + document.addEventListener('click', onClickOutside, true); + // Event listener for when dragging starts itemElement.addEventListener('dragstart', onDragStart); // Event listener for when dragging occurs (optional) @@ -197,6 +207,8 @@ onDestroy(() => { if (itemElement) { + document.removeEventListener('click', onClickOutside, true); + itemElement.removeEventListener('dragstart', onDragStart); itemElement.removeEventListener('drag', onDrag); itemElement.removeEventListener('dragend', onDragEnd);