From db9633496b17612ba5bdeb356174fa8a62f9749b Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 19 Oct 2022 09:04:34 -0700 Subject: [PATCH] Handle clicking items --- src/components/search.jsx | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) 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 &&