« get me outta code hell

content, data: MusicVideo.contributorStyle - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-01-31 23:01:14 -0400
committer(quasar) nebula <qznebula@protonmail.com>2026-01-31 23:03:12 -0400
commit180d3e169b10db5f1837567eca9bf1b2d5542b96 (patch)
tree80ac792949c3d9c40f5f748c4e5513450b702532 /src/data/things
parente4faa8a4cbc08621a95413047370b2bda25bb3cb (diff)
content, data: MusicVideo.contributorStyle
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/MusicVideo.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/data/things/MusicVideo.js b/src/data/things/MusicVideo.js
index b3dd31e6..14a27fb7 100644
--- a/src/data/things/MusicVideo.js
+++ b/src/data/things/MusicVideo.js
@@ -81,6 +81,21 @@ export class MusicVideo extends Thing {
       artistProperty: input.value('musicVideoArtistContributions'),
     }),
 
+    contributorStyle: [
+      exposeUpdateValueOrContinue({
+        validate: input.value(
+          is('list', 'line')),
+      }),
+
+      {
+        dependencies: ['contributorContribs'],
+        compute: ({contributorContribs}) =>
+          (contributorContribs.length > 1
+            ? 'list'
+            : 'line'),
+      },
+    ],
+
     contributorContribs: contributionList({
       artistProperty: input.value('musicVideoContributorContributions'),
     }),
@@ -108,6 +123,7 @@ export class MusicVideo extends Thing {
       'Cover Art Dimensions': {property: 'coverArtDimensions'},
 
       'Artists': {property: 'artistContribs', transform: parseContributors},
+      'Contributor Style': {property: 'contributorStyle'},
       'Contributors': {property: 'contributorContribs', transform: parseContributors},
     },
   };