« get me outta code hell

content, data: Flash.coverArtDimensions - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-06-08 12:54:24 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-06-08 12:54:24 -0300
commit9a2e287761d4871396ad9daca9e2df992ccdab0b (patch)
treeb7bd1f1cb756801c01b142e50ecda017ce78cd49
parent3332d697785b5cf1bb74fdb8f9482d91d06514a0 (diff)
content, data: Flash.coverArtDimensions
-rw-r--r--src/content/dependencies/generateFlashCoverArtwork.js24
-rw-r--r--src/data/things/flash.js10
2 files changed, 28 insertions, 6 deletions
diff --git a/src/content/dependencies/generateFlashCoverArtwork.js b/src/content/dependencies/generateFlashCoverArtwork.js
index 374fa3f8..af03ae6b 100644
--- a/src/content/dependencies/generateFlashCoverArtwork.js
+++ b/src/content/dependencies/generateFlashCoverArtwork.js
@@ -1,12 +1,26 @@
 export default {
   contentDependencies: ['generateCoverArtwork'],
 
-  relations: (relation) =>
-    ({coverArtwork: relation('generateCoverArtwork')}),
+  relations: (relation) => ({
+    coverArtwork:
+      relation('generateCoverArtwork'),
+  }),
 
-  data: (flash) =>
-    ({path: ['media.flashArt', flash.directory, flash.coverArtFileExtension]}),
+  data: (flash) => ({
+    path:
+      ['media.flashArt', flash.directory, flash.coverArtFileExtension],
+
+    color:
+      flash.color,
+
+    dimensions:
+      flash.coverArtDimensions,
+  }),
 
   generate: (data, relations) =>
-    relations.coverArtwork.slot('path', data.path),
+    relations.coverArtwork.slots({
+      path: data.path,
+      color: data.color,
+      dimensions: data.dimensions,
+    }),
 };
diff --git a/src/data/things/flash.js b/src/data/things/flash.js
index ceed79f7..7038df86 100644
--- a/src/data/things/flash.js
+++ b/src/data/things/flash.js
@@ -7,7 +7,7 @@ import {sortFlashesChronologically} from '#sort';
 import Thing from '#thing';
 import {anyOf, isColor, isContentString, isDirectory, isNumber, isString}
   from '#validators';
-import {parseDate, parseContributors} from '#yaml';
+import {parseContributors, parseDate, parseDimensions} from '#yaml';
 
 import {withPropertyFromObject} from '#composite/data';
 
@@ -24,6 +24,7 @@ import {
   commentatorArtists,
   contentString,
   contributionList,
+  dimensions,
   directory,
   fileExtension,
   name,
@@ -89,6 +90,8 @@ export class Flash extends Thing {
 
     coverArtFileExtension: fileExtension('jpg'),
 
+    coverArtDimensions: dimensions(),
+
     contributorContribs: contributionList(),
 
     featuredTracks: referenceList({
@@ -171,6 +174,11 @@ export class Flash extends Thing {
 
       'Cover Art File Extension': {property: 'coverArtFileExtension'},
 
+      'Cover Art Dimensions': {
+        property: 'coverArtDimensions',
+        transform: parseDimensions,
+      },
+
       'Featured Tracks': {property: 'featuredTracks'},
 
       'Contributors': {