« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/static/js/client-util.js8
-rw-r--r--src/static/js/client/sidebar-search.js3
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 =