« get me outta code hell

content: decompose generateCoverArtwork - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateFlashCoverArtwork.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-11-19 13:25:22 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-11-19 13:25:22 -0400
commit7cb88275fd3c813114271c0a136b12c72c5a172a (patch)
treeb3b007e73c4681e206162362f5d9a8b99b6762d7 /src/content/dependencies/generateFlashCoverArtwork.js
parent943cb8d05f5ef8572edfa081fb9912107769241a (diff)
content: decompose generateCoverArtwork
No visual/site changes yet.

This involves introducing an unfortunate mega-hack in
generateStickyHeadingContainer, which sets slots on cover
artworks. Very scary. Oooooo

Otherwise, all cover artwork code is much more compositional.
Pass-through slots (`image`) are removed in generateCoverArtwork
and a partially-formed `image` slot is accepted instead.
Diffstat (limited to 'src/content/dependencies/generateFlashCoverArtwork.js')
-rw-r--r--src/content/dependencies/generateFlashCoverArtwork.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/content/dependencies/generateFlashCoverArtwork.js b/src/content/dependencies/generateFlashCoverArtwork.js
index bcf2a55c..02590a09 100644
--- a/src/content/dependencies/generateFlashCoverArtwork.js
+++ b/src/content/dependencies/generateFlashCoverArtwork.js
@@ -4,7 +4,10 @@ export default {
 
   relations: (relation) => ({
     coverArtwork:
-      relation('generateCoverArtwork', [], []),
+      relation('generateCoverArtwork'),
+
+    image:
+      relation('image'),
   }),
 
   data: (flash) => ({
@@ -20,9 +23,13 @@ export default {
 
   generate: (data, relations, {language}) =>
     relations.coverArtwork.slots({
-      path: data.path,
-      color: data.color,
+      image:
+        relations.image.slots({
+          data: data.path,
+          color: data.color,
+          alt: language.$('misc.alt.flashArt'),
+        }),
+
       dimensions: data.dimensions,
-      alt: language.$('misc.alt.flashArt'),
     }),
 };