« get me outta code hell

content, data: Track.previousProductionTracks - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateNearbyTrackList.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-10-23 19:23:18 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-10-23 19:23:18 -0300
commit6b9c8cb3615b7ba7b49d1c21b2748d2e75e7ee82 (patch)
tree495d659cd1bbba542b21f364223c4e211ccbb68c /src/content/dependencies/generateNearbyTrackList.js
parent2d8622f8b31df0367ded52a45d7362abfe6d9a7c (diff)
content, data: Track.previousProductionTracks preview
Diffstat (limited to 'src/content/dependencies/generateNearbyTrackList.js')
-rw-r--r--src/content/dependencies/generateNearbyTrackList.js20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/content/dependencies/generateNearbyTrackList.js b/src/content/dependencies/generateNearbyTrackList.js
index 6771285a..56ab2df5 100644
--- a/src/content/dependencies/generateNearbyTrackList.js
+++ b/src/content/dependencies/generateNearbyTrackList.js
@@ -1,5 +1,5 @@
 export default {
-  query: (tracks, contextTrack) => ({
+  query: (tracks, contextTrack, _contextContributions) => ({
     presentedTracks:
       (contextTrack
         ? tracks.map(track =>
@@ -8,13 +8,23 @@ export default {
         : tracks),
   }),
 
-  relations: (relation, query, _tracks, _contextTrack) => ({
+  relations: (relation, query, _tracks, _contextTrack, contextContributions) => ({
     items:
       query.presentedTracks
-        .map(track => relation('generateTrackListItem', track, [])),
+        .map(track => relation('generateTrackListItem', track, contextContributions)),
   }),
 
   slots: {
+    showArtists: {
+      validate: v => v.is(true, false, 'auto'),
+      default: 'auto',
+    },
+
+    showDuration: {
+      type: 'boolean',
+      default: false,
+    },
+
     colorMode: {
       validate: v => v.is('none', 'track', 'line'),
       default: 'track',
@@ -27,8 +37,8 @@ export default {
 
       relations.items.map(item =>
         item.slots({
-          showArtists: 'auto',
-          showDuration: false,
+          showArtists: slots.showArtists,
+          showDuration: slots.showDuration,
           colorMode: slots.colorMode,
         }))),
 };