« get me outta code hell

content, page, util: general contributions usage cleanup - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackChronologyLinks.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-06-02 10:55:38 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-06-18 22:56:06 -0300
commit4aa153ebae1360e390b9d372fabf457ee8b21705 (patch)
treea1cff366b439550227fa6ef7b9b4f6c575e51daf /src/content/dependencies/generateTrackChronologyLinks.js
parent5550f8ec487c3cae87de36f4e0c1fe9d6df8e36c (diff)
content, page, util: general contributions usage cleanup
Diffstat (limited to 'src/content/dependencies/generateTrackChronologyLinks.js')
-rw-r--r--src/content/dependencies/generateTrackChronologyLinks.js25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/content/dependencies/generateTrackChronologyLinks.js b/src/content/dependencies/generateTrackChronologyLinks.js
index 5f6b0771..f9ad6299 100644
--- a/src/content/dependencies/generateTrackChronologyLinks.js
+++ b/src/content/dependencies/generateTrackChronologyLinks.js
@@ -38,9 +38,11 @@ export default {
 
               const things =
                 ([
-                  ...artist.tracksAsArtist,
-                  ...artist.tracksAsContributor,
-                ]).filter(getDate)
+                  artist.trackArtistContributions,
+                  artist.trackContributorContributions,
+                ]).flat()
+                  .map(({thing}) => thing)
+                  .filter(getDate)
                   .filter(albumFilter);
 
               return sortAlbumsTracksChronologically(things, {getDate});
@@ -61,11 +63,20 @@ export default {
             getThings(artist) {
               const getDate = thing => thing.coverArtDate ?? thing.date;
 
+              // Album artwork isn't part of cover artist chronology scoped to
+              // even the same album - we use this list to show "nth track art".
+              const applicableContributions =
+                (album
+                  ? artist.trackCoverArtistContributions
+                  : ([
+                      artist.albumCoverArtistContributions,
+                      artist.trackCoverArtistContributions,
+                    ]).flat());
+
               const things =
-                ([
-                  ...artist.albumsAsCoverArtist,
-                  ...artist.tracksAsCoverArtist,
-                ]).filter(getDate)
+                applicableContributions
+                  .map(({thing}) => thing)
+                  .filter(getDate)
                   .filter(albumFilter);
 
               return sortAlbumsTracksChronologically(things, {getDate});