From e7b7ff3400c629992ad209dbcb7a78fd24626651 Mon Sep 17 00:00:00 2001 From: Yusuf Suleman Date: Wed, 1 Apr 2026 19:51:13 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20brain=20live=20search=20=E2=80=94=20res?= =?UTF-8?q?ults=20appear=20as=20you=20type=20(300ms=20debounce)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../src/lib/pages/brain/AtelierBrainPage.svelte | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte b/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte index ca27fa8..1039f5c 100644 --- a/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte +++ b/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte @@ -208,8 +208,13 @@ if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); capture(); } } - function handleSearchKey(e: KeyboardEvent) { - if (e.key === 'Enter') search(); + let searchTimer: ReturnType; + + function handleSearchInput() { + clearTimeout(searchTimer); + searchTimer = setTimeout(() => { + search(); + }, 300); } // Poll for pending items @@ -345,7 +350,7 @@ class="search-input" placeholder="Search your brain..." bind:value={searchQuery} - onkeydown={handleSearchKey} + oninput={handleSearchInput} /> {#if searchQuery}