« 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/static/js/client.js28
-rw-r--r--src/util/search-spec.js4
2 files changed, 25 insertions, 7 deletions
diff --git a/src/static/js/client.js b/src/static/js/client.js
index 97a046e5..771d2011 100644
--- a/src/static/js/client.js
+++ b/src/static/js/client.js
@@ -194,9 +194,10 @@ function getVisuallyContainingElement(child) {
 const getLinkHref = (type, directory) => rebase(`${type}/${directory}`);
 */
 
-const openAlbum = (d) => rebase(`album/${d}`);
-const openTrack = (d) => rebase(`track/${d}`);
-const openArtist = (d) => rebase(`artist/${d}`);
+const openAlbum = d => rebase(`album/${d}`);
+const openArtist = d => rebase(`artist/${d}`);
+const openFlash = d => rebase(`flash/${d}`);
+const openTrack = d => rebase(`track/${d}`);
 
 // TODO: This should also use urlSpec.
 
@@ -3831,16 +3832,23 @@ function generateSidebarSearchResult(result) {
   };
 
   switch (result.referenceType) {
-    case 'track': {
+    case 'artist': {
       preparedSlots.href =
-        openTrack(result.directory);
+        openArtist(result.directory);
 
       break;
     }
 
-    case 'artist': {
+    case 'flash': {
       preparedSlots.href =
-        openArtist(result.directory);
+        openFlash(result.directory);
+
+      break;
+    }
+
+    case 'track': {
+      preparedSlots.href =
+        openTrack(result.directory);
 
       break;
     }
@@ -3860,6 +3868,12 @@ function getSearchResultImageSource(result) {
   const [kind, ...opts] = artwork;
 
   switch (kind) {
+    case 'flash':
+      return rebase(
+        ('flash-art'
+       + `/${result.directory}.small.jpg`),
+        'rebaseThumb');
+
     case 'track':
       return rebase(
         (`album-art`
diff --git a/src/util/search-spec.js b/src/util/search-spec.js
index de71776c..08717d92 100644
--- a/src/util/search-spec.js
+++ b/src/util/search-spec.js
@@ -2,6 +2,10 @@
 
 function prepareArtwork(thing) {
   switch (thing.constructor[Symbol.for('Thing.referenceType')]) {
+    case 'flash': {
+      return ['flash', thing.coverArtFileExtension];
+    }
+
     case 'track': {
       if (thing.hasUniqueCoverArt) {
         if (thing.coverArtFileExtension === 'gif')