« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/static/js/client/sidebar-search.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/static/js/client/sidebar-search.js')
-rw-r--r--src/static/js/client/sidebar-search.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/static/js/client/sidebar-search.js b/src/static/js/client/sidebar-search.js
index 94f1e4ef..61a33c0d 100644
--- a/src/static/js/client/sidebar-search.js
+++ b/src/static/js/client/sidebar-search.js
@@ -16,6 +16,7 @@ import {
   openFlash,
   openGroup,
   openTrack,
+  openVGMAlbum,
   rebase,
   templateContent,
 } from '../client-util.js';
@@ -84,6 +85,7 @@ export const info = {
   groupResultKindString: null,
   singleResultKindString: null,
   tagResultKindString: null,
+  vgmAlbumResultKindString: null,
 
   groupResultDisambiguatorString: null,
   flashResultDisambiguatorString: null,
@@ -242,6 +244,9 @@ export function getPageReferences() {
   info.tagResultKindString =
     findString('tag-result-kind');
 
+  info.vgmAlbumResultKindString =
+    findString('vgm-album-result-kind');
+
   info.groupResultDisambiguatorString =
     findString('group-result-disambiguator');
 
@@ -1109,11 +1114,15 @@ function generateSidebarSearchResult(result, results) {
   switch (result.referenceType) {
     case 'album': {
       preparedSlots.href =
-        openAlbum(result.directory);
+        (result.data.classification === 'in-game vgm'
+          ? openVGMAlbum(result.directory)
+          : openAlbum(result.directory));
 
       preparedSlots.kindString =
         (result.data.classification === 'single'
           ? info.singleResultKindString
+       : result.data.classification === 'in-game vgm'
+          ? info.vgmAlbumResultKindString
           : info.albumResultKindString);
 
       break;
@@ -1252,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) {