« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateAlbumBanner.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateAlbumBanner.js')
-rw-r--r--src/content/dependencies/generateAlbumBanner.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/content/dependencies/generateAlbumBanner.js b/src/content/dependencies/generateAlbumBanner.js
index dce258de..b8faf7e6 100644
--- a/src/content/dependencies/generateAlbumBanner.js
+++ b/src/content/dependencies/generateAlbumBanner.js
@@ -5,7 +5,11 @@ export default {
     }
 
     return {
-      banner: relation('generateBanner'),
+      banner:
+        relation('generateBanner'),
+
+      colorAttribute:
+        relation('generateColorStyleAttribute', album.color),
     };
   },
 
@@ -20,7 +24,14 @@ export default {
     };
   },
 
-  generate(data, relations, {html, language}) {
+  slots: {
+    mode: {
+      validate: v => v.is('main', 'sub'),
+      default: 'main',
+    },
+  },
+
+  generate(data, relations, slots, {html, language}) {
     if (!relations.banner) {
       return html.blank();
     }
@@ -29,6 +40,13 @@ export default {
       path: data.path,
       dimensions: data.dimensions,
       alt: language.$('misc.alt.albumBanner'),
+
+      attributes: [
+        slots.mode === 'sub' && [
+          {class: ['dim', 'short']},
+          relations.colorAttribute.slot('context', 'banner'),
+        ],
+      ],
     });
   },
 };