« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/common-util/search-shape.js3
-rw-r--r--src/search-select.js4
-rw-r--r--src/static/js/client/sidebar-search.js16
-rw-r--r--src/static/js/search-worker.js3
4 files changed, 22 insertions, 4 deletions
diff --git a/src/common-util/search-shape.js b/src/common-util/search-shape.js
index 0754d3b1..d0db3ea2 100644
--- a/src/common-util/search-shape.js
+++ b/src/common-util/search-shape.js
@@ -8,6 +8,7 @@
 
 const baselineStore = [
   'primaryName',
+  'nameDetail',
   'disambiguators',
   'classification',
   'artwork',
@@ -20,6 +21,7 @@ const searchShape = {
   generic: {
     index: [
       'primaryName',
+      'nameDetail',
       'parentName',
       'additionalNames',
       'groups',
@@ -31,6 +33,7 @@ const searchShape = {
   verbatim: {
     index: [
       'primaryName',
+      'nameDetail',
       'parentName',
       'additionalNames',
       'groups',
diff --git a/src/search-select.js b/src/search-select.js
index 24047cc6..33b2a48d 100644
--- a/src/search-select.js
+++ b/src/search-select.js
@@ -146,6 +146,10 @@ function baselineProcess(thing, _opts) {
   fields.primaryName =
     thing.name;
 
+  fields.nameDetail =
+    thing.nameDetailAcrossWiki ??
+    thing.nameDetail;
+
   fields.artwork =
     null;
 
diff --git a/src/static/js/client/sidebar-search.js b/src/static/js/client/sidebar-search.js
index 1102624b..61a33c0d 100644
--- a/src/static/js/client/sidebar-search.js
+++ b/src/static/js/client/sidebar-search.js
@@ -1261,11 +1261,19 @@ function generateSidebarSearchResult(result, results) {
 }
 
 function getSearchResultName(result) {
-  return (
+  const name =
     result.data.name ??
-    result.data.primaryName ??
-    null
-  );
+    result.data.primaryName;
+
+  if (!name) {
+    return null;
+  }
+
+  if (result.data.nameDetail) {
+    return `${name} (${result.data.nameDetail})`;
+  }
+
+  return name;
 }
 
 function getSearchResultImageSource(result) {
diff --git a/src/static/js/search-worker.js b/src/static/js/search-worker.js
index f3e4175a..a04752d4 100644
--- a/src/static/js/search-worker.js
+++ b/src/static/js/search-worker.js
@@ -486,8 +486,11 @@ function performSearchAction({query, options}) {
 
 const interestingFieldCombinations = [
   ['primaryName'],
+  ['primaryName', 'nameDetail'],
   ['additionalNames'],
+  ['additionalNames', 'nameDetail'],
   ['primaryName', 'groups'],
+  ['primaryName', 'nameDetail', 'groups'],
 ];
 
 function queryGenericIndex(query, options) {