diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-06-02 10:55:38 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-06-12 17:26:54 -0300 |
commit | 5f16db8fc0f2b28f2014c439fb299ab34e7d4b1d (patch) | |
tree | 8b16a92879f67b76b65b49f72f5f6ef61643349d /src/content/dependencies/generateTrackChronologyLinks.js | |
parent | 69479b5bff9b88eab7e4b3e7fe972d7ee773dc36 (diff) |
content, page, util: general contributions usage cleanup
Diffstat (limited to 'src/content/dependencies/generateTrackChronologyLinks.js')
-rw-r--r-- | src/content/dependencies/generateTrackChronologyLinks.js | 25 |
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}); |