* fix(search): use anchor element This addresses #698 to allow search title to include links for SPA Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: formatter Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: move itemTile to `a` Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove nested a title Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(search): remove spaNavigate since now searchResult is an `a` item Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
This commit is contained in:
parent
015b4f6a15
commit
0403fa70aa
@ -222,16 +222,16 @@ document.addEventListener("nav", async (e: unknown) => {
|
|||||||
|
|
||||||
const resultToHTML = ({ slug, title, content, tags }: Item) => {
|
const resultToHTML = ({ slug, title, content, tags }: Item) => {
|
||||||
const htmlTags = tags.length > 0 ? `<ul>${tags.join("")}</ul>` : ``
|
const htmlTags = tags.length > 0 ? `<ul>${tags.join("")}</ul>` : ``
|
||||||
const button = document.createElement("button")
|
const itemTile = document.createElement("a")
|
||||||
button.classList.add("result-card")
|
itemTile.classList.add("result-card")
|
||||||
button.id = slug
|
itemTile.id = slug
|
||||||
button.innerHTML = `<h3>${title}</h3>${htmlTags}<p>${content}</p>`
|
itemTile.href = new URL(resolveRelative(currentSlug, slug), location.toString()).toString()
|
||||||
button.addEventListener("click", () => {
|
itemTile.innerHTML = `<h3>${title}</h3>${htmlTags}<p>${content}</p>`
|
||||||
const targ = resolveRelative(currentSlug, slug)
|
itemTile.addEventListener("click", (event) => {
|
||||||
window.spaNavigate(new URL(targ, window.location.toString()))
|
if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return
|
||||||
hideSearch()
|
hideSearch()
|
||||||
})
|
})
|
||||||
return button
|
return itemTile
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayResults(finalResults: Item[]) {
|
function displayResults(finalResults: Item[]) {
|
||||||
|
Loading…
Reference in New Issue
Block a user