mirror of
https://github.com/He4eT/tabswitcher.git
synced 2026-05-04 17:07:23 +00:00
pages/search: escape tab text
This commit is contained in:
parent
edfeea7247
commit
4924efd0b6
1 changed files with 12 additions and 1 deletions
|
|
@ -1,18 +1,27 @@
|
|||
const fuzzysort = window.fuzzysort
|
||||
|
||||
/* */
|
||||
const highlightTagName = crypto.randomUUID().slice(0, 4)
|
||||
|
||||
const unescapeHighlight = (innerText) =>
|
||||
innerText
|
||||
.replaceAll(`<${highlightTagName}>`, '<b>')
|
||||
.replaceAll(`</${highlightTagName}>`, '</b>')
|
||||
|
||||
/* https://png-pixel.com/ */
|
||||
const defaultFavicon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkqAcAAIUAgUW0RjgAAAAASUVORK5CYII='
|
||||
|
||||
const tabView = (result) => {
|
||||
const tab = result.obj
|
||||
const [label, title, url] = result.map((field) =>
|
||||
fuzzysort.highlight(field))
|
||||
fuzzysort.highlight(field, `<${highlightTagName}>`, `</${highlightTagName}>`))
|
||||
|
||||
/* Parts */
|
||||
|
||||
const labelSpan = document.createElement('span')
|
||||
labelSpan.classList.add('label')
|
||||
labelSpan.textContent = label ?? tab.label
|
||||
labelSpan.innerHTML = unescapeHighlight(labelSpan.innerHTML)
|
||||
|
||||
const faviconImg = document.createElement('img')
|
||||
faviconImg.classList.add('favicon')
|
||||
|
|
@ -25,10 +34,12 @@ const tabView = (result) => {
|
|||
const titleSpan = document.createElement('span')
|
||||
titleSpan.classList.add('title')
|
||||
titleSpan.textContent = title ?? tab.title
|
||||
titleSpan.innerHTML = unescapeHighlight(titleSpan.innerHTML)
|
||||
|
||||
const urlSpan = document.createElement('span')
|
||||
urlSpan.classList.add('url')
|
||||
urlSpan.textContent = url ?? tab.url
|
||||
urlSpan.innerHTML = unescapeHighlight(urlSpan.innerHTML)
|
||||
|
||||
const parts = [
|
||||
labelSpan,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue