From f78b512436ebc293d10e9ebdd0fc5fbd1705dde4 Mon Sep 17 00:00:00 2001 From: Aaron Pham <29749331+aarnphm@users.noreply.github.com> Date: Thu, 1 Feb 2024 22:25:45 -0500 Subject: [PATCH] chore(search): check for input type and assignment of focus (#785) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --- quartz/components/scripts/search.inline.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quartz/components/scripts/search.inline.ts b/quartz/components/scripts/search.inline.ts index 7871b39d..8ead5c95 100644 --- a/quartz/components/scripts/search.inline.ts +++ b/quartz/components/scripts/search.inline.ts @@ -238,7 +238,7 @@ document.addEventListener("nav", async (e: CustomEventMap["nav"]) => { e.preventDefault() // The results should already been focused, so we need to find the next one. // The activeElement is the search bar, so we need to find the first result and focus it. - if (!results?.contains(document.activeElement)) { + if (document.activeElement === searchBar || currentHover !== null) { const firstResult = currentHover ? currentHover : (document.getElementsByClassName("result-card")[0] as HTMLInputElement | null) @@ -398,6 +398,7 @@ document.addEventListener("nav", async (e: CustomEventMap["nav"]) => { removeAllChildren(preview as HTMLElement) } else { firstChild.classList.add("focus") + currentHover = firstChild as HTMLInputElement await displayPreview(firstChild) } }