« get me outta code hell

content: generateReleaseInfoListenLine: consider album, too - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-06-16 17:31:51 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-06-16 17:31:51 -0300
commit787a8a71412d4e80455ddce0e36feecb85f74672 (patch)
tree34bf50f28542276e760907672e0df383be5d48a2 /src
parent0225f48f3f728f1337293e03bd53095ba424c186 (diff)
content: generateReleaseInfoListenLine: consider album, too
Diffstat (limited to 'src')
-rw-r--r--src/content/dependencies/generateReleaseInfoListenLine.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/content/dependencies/generateReleaseInfoListenLine.js b/src/content/dependencies/generateReleaseInfoListenLine.js
index 9b1901c3..8cc2c984 100644
--- a/src/content/dependencies/generateReleaseInfoListenLine.js
+++ b/src/content/dependencies/generateReleaseInfoListenLine.js
@@ -43,25 +43,36 @@ export default {
         .filter(url => url.hostname.endsWith('.bandcamp.com'))
         .map(url => url.hostname);
 
-    let releaseContexts =
-      thing.urls.map(urlString => {
-        const url = new URL(urlString);
+    const getReleaseContext = urlString => {
+      const url = new URL(urlString);
+
+      if (url.hostname === 'homestuck.bandcamp.com') {
+        return 'officialRelease';
+      }
 
-        if (url.hostname === 'homestuck.bandcamp.com') {
-          return 'officialRelease';
-        }
+      if (artistBandcampDomains.includes(url.hostname)) {
+        return 'artistRelease';
+      }
 
-        if (artistBandcampDomains.includes(url.hostname)) {
-          return 'artistRelease';
-        }
+      return null;
+    };
 
-        return null;
-      });
+    let releaseContexts =
+      thing.urls.map(getReleaseContext);
+
+    const albumReleaseContexts =
+      query.album.urls.map(getReleaseContext);
 
     const presentReleaseContexts =
       unique(releaseContexts.filter(Boolean));
 
-    if (presentReleaseContexts.length <= 1) {
+    const presentAlbumReleaseContexts =
+      unique(albumReleaseContexts.filter(Boolean));
+
+    if (
+      presentReleaseContexts.length <= 1 &&
+      presentAlbumReleaseContexts.length <= 1
+    ) {
       releaseContexts =
         thing.urls.map(() => null);
     }