mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-22 11:36:23 +00:00
fix: flatmap children when highlighting rich preview to avoid body
This commit is contained in:
parent
970a30a139
commit
3b596c9311
1 changed files with 3 additions and 3 deletions
|
@ -81,10 +81,10 @@ function highlight(searchTerm: string, text: string, trim?: boolean) {
|
|||
}`
|
||||
}
|
||||
|
||||
function highlightHTML(searchTerm: string, innerHTML: string) {
|
||||
function highlightHTML(searchTerm: string, el: HTMLElement) {
|
||||
const p = new DOMParser()
|
||||
const tokenizedTerms = tokenizeTerm(searchTerm)
|
||||
const html = p.parseFromString(innerHTML, "text/html")
|
||||
const html = p.parseFromString(el.innerHTML, "text/html")
|
||||
|
||||
const createHighlightSpan = (text: string) => {
|
||||
const span = document.createElement("span")
|
||||
|
@ -389,7 +389,7 @@ document.addEventListener("nav", async (e: CustomEventMap["nav"]) => {
|
|||
previewInner = document.createElement("div")
|
||||
previewInner.classList.add("preview-inner")
|
||||
const innerDiv = await fetchContent(slug).then((contents) =>
|
||||
contents.map((el) => highlightHTML(currentSearchTerm, el.innerHTML)),
|
||||
contents.flatMap((el) => [...highlightHTML(currentSearchTerm, el as HTMLElement).children]),
|
||||
)
|
||||
previewInner.append(...innerDiv)
|
||||
preview.replaceChildren(previewInner)
|
||||
|
|
Loading…
Reference in a new issue