« get me outta code hell

data, content: stub multiple artworks - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackCoverArtworks.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-04-02 15:10:58 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-04-10 16:02:38 -0300
commit58fba5a7a859c5398e0e58f31d7e8e5a649db63b (patch)
tree39f4ac7ed8292d2af453263f63ecdfaf93cba42d /src/content/dependencies/generateTrackCoverArtworks.js
parent4030a62fc518627071dc792e2754d9d99fa46546 (diff)
data, content: stub multiple artworks
Only for tracks as of this commit, most anything else is in a
severely broken state aye
Diffstat (limited to 'src/content/dependencies/generateTrackCoverArtworks.js')
-rw-r--r--src/content/dependencies/generateTrackCoverArtworks.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/content/dependencies/generateTrackCoverArtworks.js b/src/content/dependencies/generateTrackCoverArtworks.js
new file mode 100644
index 00000000..60d27d60
--- /dev/null
+++ b/src/content/dependencies/generateTrackCoverArtworks.js
@@ -0,0 +1,26 @@
+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,
+          showNonUniqueLine: true,
+        })),
+};