« get me outta code hell

content: generateArtistInfoPageTracksChunk: item dates - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-04-14 16:02:11 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-04-14 16:02:11 -0300
commite5e836354225a1d7954613b4ae1cbd7f797ec9f3 (patch)
tree73a3f72cf029ae4dd8af2dde51a60a93dc18efd3 /src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
parent34714ebea5d11289ea3013819e40a5b86e1b7f72 (diff)
content: generateArtistInfoPageTracksChunk: item dates
Diffstat (limited to 'src/content/dependencies/generateArtistInfoPageTracksChunkItem.js')
-rw-r--r--src/content/dependencies/generateArtistInfoPageTracksChunkItem.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
index 3d6e274b..69d8eebd 100644
--- a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
+++ b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
@@ -2,14 +2,19 @@ import {sortAlbumsTracksChronologically} from '#sort';
 import {empty} from '#sugar';
 
 export default {
-  query(artist, contribs) {
+  query(artist, contribs, chunkContribs) {
     const query = {};
 
-    // TODO: Very mysterious what to do if the set of contributions is,
-    // in total, associated with more than one thing. No design yet.
     query.track =
       contribs[0].thing;
 
+    query.date =
+      contribs[0].date;
+
+    query.anyItemsExpresslyDated =
+      chunkContribs.flat()
+        .some(contrib => +contrib.date !== +query.track.album.date);
+
     const creditedAsNormalArtist =
       contribs
         .some(contrib =>
@@ -112,6 +117,11 @@ export default {
   }),
 
   data: (query) => ({
+    date:
+      (query.anyItemsExpresslyDated
+        ? query.date
+        : null),
+
     duration:
       query.track.duration,
 
@@ -146,6 +156,7 @@ export default {
               relations.trackListItem.slots({
                 showArtists: 'auto',
                 showDuration: slots.showDuration,
+                showDate: data.date,
               })),
         }),
     }),