« get me outta code hell

content, css: coverColumnContent -> artworkColumnContent, etc - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackArtworkColumn.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-04-10 13:59:49 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-04-10 16:02:43 -0300
commitcddc4b63f1a2a4c164c3080c642c88f5fe8200d9 (patch)
treeab37a50defc357a4821bf554709b84e2ba0258be /src/content/dependencies/generateTrackArtworkColumn.js
parent107920d8ad9f09e667e43de453fcfec83a94ef19 (diff)
content, css: coverColumnContent -> artworkColumnContent, etc
Diffstat (limited to 'src/content/dependencies/generateTrackArtworkColumn.js')
-rw-r--r--src/content/dependencies/generateTrackArtworkColumn.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/content/dependencies/generateTrackArtworkColumn.js b/src/content/dependencies/generateTrackArtworkColumn.js
new file mode 100644
index 00000000..1cd5bff0
--- /dev/null
+++ b/src/content/dependencies/generateTrackArtworkColumn.js
@@ -0,0 +1,25 @@
+export default {
+  contentDependencies: ['generateTrackCoverArtwork'],
+
+  relations: (relation, track) => ({
+    albumCover:
+      (!track.hasUniqueCoverArt && track.album.hasCoverArt
+        ? relation('generateTrackCoverArtwork', track.album.coverArtworks[0])
+        : null),
+
+    trackCovers:
+      (track.hasUniqueCoverArt
+        ? track.trackArtworks.map(artwork =>
+            relation('generateTrackCoverArtwork', artwork))
+        : null),
+  }),
+
+  generate: (relations) =>
+    [relations.albumCover, ...relations.trackCovers ?? []]
+      .filter(Boolean)
+      .map(cover =>
+        cover.slots({
+          showOriginDetails: true,
+          showReferenceLinks: true,
+        })),
+};