diff options
| -rw-r--r-- | src/static/js/client-util.js | 8 | ||||
| -rw-r--r-- | src/static/js/client/sidebar-search.js | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/static/js/client-util.js b/src/static/js/client-util.js index 74d63ad6..0c113758 100644 --- a/src/static/js/client-util.js +++ b/src/static/js/client-util.js @@ -65,6 +65,14 @@ export function templateContent(el, slots = {}) { return content; } +export function decodeEntities(string) { + if (!string) return string; + + const textarea = document.createElement('textarea'); + textarea.innerHTML = string; + return textarea.value; +} + // Curry-style, so multiple points can more conveniently be tested at once. export function pointIsOverAnyOf(elements) { return (clientX, clientY) => { diff --git a/src/static/js/client/sidebar-search.js b/src/static/js/client/sidebar-search.js index 519fd269..3cc3d218 100644 --- a/src/static/js/client/sidebar-search.js +++ b/src/static/js/client/sidebar-search.js @@ -9,6 +9,7 @@ import { import { cssProp, + decodeEntities, openAlbum, openArtist, openArtTag, @@ -724,7 +725,7 @@ function recordActiveQueryContext() { } session.activeQueryContextPageName = - document.querySelector('title').dataset.withoutWikiName ?? + decodeEntities(document.querySelector('title').dataset.withoutWikiName) || document.title; session.activeQueryContextPagePathname = |