diff --git a/src/components/search.jsx b/src/components/search.jsx index ba15b42ac..596efc459 100644 --- a/src/components/search.jsx +++ b/src/components/search.jsx @@ -12,17 +12,20 @@ export default function HomepageSearch({bookmarksAndServices, searchString, setS const [results, setResults] = useState([]); const [currentItemIndex, setCurrentItemIndex] = useState(null); + function resetAndClose() { + setSearchString(""); + close(false); + } + function handleSearchChange(event) { setSearchString(event.target.value.toLowerCase()) } function handleSearchKeyDown(event) { if (event.key === "Escape") { - setSearchString(""); - close(false); + resetAndClose(); } else if (event.key === "Enter" && results.length) { - setSearchString(""); - close(false); + resetAndClose(); const result = results[currentItemIndex]; window.open(result.href, '_blank'); } else if (event.key === "ArrowDown" && results[currentItemIndex + 1]) { @@ -34,6 +37,10 @@ export default function HomepageSearch({bookmarksAndServices, searchString, setS } } + function handleItemClick() { + resetAndClose(); + } + useEffect(() => { if (searchString.length === 0) setResults([]); else { @@ -76,18 +83,20 @@ export default function HomepageSearch({bookmarksAndServices, searchString, setS )} type="text" ref={searchField} value={searchString} onChange={handleSearchChange} onKeyDown={handleSearchKeyDown} /> {results.length > 0 && }