« get me outta code hell

[staging] content: generateReleaseInfoListenLine: consider album, too - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies
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-09-27 05:16:38 -0300
commitb935e025bd4efc5b5db7ef2eeddfc27b708ab8b6 (patch)
tree2a5ef31ed904bb7ba6b6717b84c4972e86fe2be1 /src/content/dependencies
parent2dfd8e315dfe23823e31f6a42a595089091f2ff3 (diff)
[staging] content: generateReleaseInfoListenLine: consider album, too
Diffstat (limited to 'src/content/dependencies')
-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);
     }