« 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/generateReferencedTracksList.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/generateReferencedTracksList.js
parent2d8622f8b31df0367ded52a45d7362abfe6d9a7c (diff)
content, data: Track.previousProductionTracks
Diffstat (limited to 'src/content/dependencies/generateReferencedTracksList.js')
-rw-r--r--src/content/dependencies/generateReferencedTracksList.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/content/dependencies/generateReferencedTracksList.js b/src/content/dependencies/generateReferencedTracksList.js
new file mode 100644
index 00000000..1d566ce9
--- /dev/null
+++ b/src/content/dependencies/generateReferencedTracksList.js
@@ -0,0 +1,29 @@
+export default {
+  relations: (relation, track) => ({
+    previousProductionTrackList:
+      relation('generateNearbyTrackList',
+        track.previousProductionTracks,
+        track,
+        track.artistContribs),
+
+    referencedTrackList:
+      relation('generateNearbyTrackList',
+        track.referencedTracks,
+        track,
+        []),
+  }),
+
+  generate: (relations, {html, language}) =>
+    html.tag('ul', {[html.onlyIfContent]: true}, [
+      html.inside(relations.previousProductionTrackList)
+        .map(li => html.inside(li))
+        .map(label =>
+          html.tag('li',
+            language.$('trackList.item.previousProduction',
+              {track: label}))),
+
+      html.inside(relations.referencedTrackList),
+    ]),
+};
+
+