« 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
diff options
context:
space:
mode:
Diffstat (limited to 'src/static/js/client')
-rw-r--r--src/static/js/client/album-commentary-sidebar.js5
-rw-r--r--src/static/js/client/css-compatibility-assistant.js28
-rw-r--r--src/static/js/client/index.js4
-rw-r--r--src/static/js/client/sidebar-search.js27
-rw-r--r--src/static/js/client/summary-nested-link.js46
5 files changed, 26 insertions, 84 deletions
diff --git a/src/static/js/client/album-commentary-sidebar.js b/src/static/js/client/album-commentary-sidebar.js
index d7c4a591..144544ed 100644
--- a/src/static/js/client/album-commentary-sidebar.js
+++ b/src/static/js/client/album-commentary-sidebar.js
@@ -23,7 +23,10 @@ export const info = {
 };
 
 export function getPageReferences() {
-  if (document.documentElement.dataset.urlKey !== 'localized.albumCommentary') {
+  if (
+    document.documentElement.dataset.urlKey !== 'localized.albumCommentary' &&
+    document.documentElement.dataset.urlKey !== 'localized.vgmAlbumCommentary'
+  ) {
     return;
   }
 
diff --git a/src/static/js/client/css-compatibility-assistant.js b/src/static/js/client/css-compatibility-assistant.js
deleted file mode 100644
index 37b0645a..00000000
--- a/src/static/js/client/css-compatibility-assistant.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import {stitchArrays} from '../../shared-util/sugar.js';
-
-export const info = {
-  id: 'cssCompatibilityAssistantInfo',
-
-  coverArtworks: null,
-  coverArtworkImageDetails: null,
-};
-
-export function getPageReferences() {
-  info.coverArtworks =
-    Array.from(document.querySelectorAll('.cover-artwork'));
-
-  info.coverArtworkImageDetails =
-    info.coverArtworks
-      .map(artwork => artwork.querySelector('.image-details'));
-}
-
-export function mutatePageContent() {
-  stitchArrays({
-    coverArtwork: info.coverArtworks,
-    imageDetails: info.coverArtworkImageDetails,
-  }).forEach(({coverArtwork, imageDetails}) => {
-      if (imageDetails) {
-        coverArtwork.classList.add('has-image-details');
-      }
-    });
-}
diff --git a/src/static/js/client/index.js b/src/static/js/client/index.js
index 9296dff1..65254b10 100644
--- a/src/static/js/client/index.js
+++ b/src/static/js/client/index.js
@@ -6,7 +6,6 @@ import * as artTagGalleryFilterModule from './art-tag-gallery-filter.js';
 import * as artTagNetworkModule from './art-tag-network.js';
 import * as artistExternalLinkTooltipModule from './artist-external-link-tooltip.js';
 import * as artistRollingWindowModule from './artist-rolling-window.js';
-import * as cssCompatibilityAssistantModule from './css-compatibility-assistant.js';
 import * as datetimestampTooltipModule from './datetimestamp-tooltip.js';
 import * as draggedLinkModule from './dragged-link.js';
 import * as expandableGridSectionModule from './expandable-grid-section.js';
@@ -22,7 +21,6 @@ import * as revealAllGridControlModule from './reveal-all-grid-control.js';
 import * as scriptedLinkModule from './scripted-link.js';
 import * as sidebarSearchModule from './sidebar-search.js';
 import * as stickyHeadingModule from './sticky-heading.js';
-import * as summaryNestedLinkModule from './summary-nested-link.js';
 import * as textWithTooltipModule from './text-with-tooltip.js';
 import * as wikiSearchModule from './wiki-search.js';
 
@@ -33,7 +31,6 @@ export const modules = [
   artTagNetworkModule,
   artistExternalLinkTooltipModule,
   artistRollingWindowModule,
-  cssCompatibilityAssistantModule,
   datetimestampTooltipModule,
   draggedLinkModule,
   expandableGridSectionModule,
@@ -49,7 +46,6 @@ export const modules = [
   scriptedLinkModule,
   sidebarSearchModule,
   stickyHeadingModule,
-  summaryNestedLinkModule,
   textWithTooltipModule,
   wikiSearchModule,
 ];
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) {
diff --git a/src/static/js/client/summary-nested-link.js b/src/static/js/client/summary-nested-link.js
deleted file mode 100644
index 1c4e7e4b..00000000
--- a/src/static/js/client/summary-nested-link.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import {
-  empty,
-  filterMultipleArrays,
-  stitchArrays,
-} from '../../shared-util/sugar.js';
-
-export const info = {
-  id: 'summaryNestedLinkInfo',
-
-  summaries: null,
-  links: null,
-};
-
-export function getPageReferences() {
-  info.summaries =
-    Array.from(document.getElementsByTagName('summary'));
-
-  info.links =
-    info.summaries
-      .map(summary =>
-        Array.from(summary.getElementsByTagName('a')));
-
-  filterMultipleArrays(
-    info.summaries,
-    info.links,
-    (_summary, links) => !empty(links));
-}
-
-export function addPageListeners() {
-  for (const {summary, links} of stitchArrays({
-    summary: info.summaries,
-    links: info.links,
-  })) {
-    for (const link of links) {
-      link.addEventListener('mouseover', () => {
-        link.classList.add('nested-hover');
-        summary.classList.add('has-nested-hover');
-      });
-
-      link.addEventListener('mouseout', () => {
-        link.classList.remove('nested-hover');
-        summary.classList.remove('has-nested-hover');
-      });
-    }
-  }
-}