« 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/generateArtistInfoPageAdditionalFilesChunk.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js')
-rw-r--r--src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js b/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js
new file mode 100644
index 00000000..353ad047
--- /dev/null
+++ b/src/content/dependencies/generateArtistInfoPageAdditionalFilesChunk.js
@@ -0,0 +1,41 @@
+export default {
+  relations: (relation, artist, album, contribs) => ({
+    template:
+      relation('generateArtistInfoPageChunk'),
+
+    albumLink:
+      relation('linkAlbum', album),
+
+    items:
+      contribs.map(contribs =>
+        relation('generateArtistInfoPageAdditionalFilesChunkItem',
+          artist,
+          contribs)),
+  }),
+
+  slots: {
+    string: {
+      type: 'string',
+      default: 'additionalFile',
+    },
+
+    disableStandaloneWithFiles: {
+      type: 'boolean',
+      default: false,
+    },
+  },
+
+  generate: (relations, slots, {html}) =>
+    relations.template.slots({
+      mode: 'album',
+      link: relations.albumLink,
+
+      list:
+        html.tag('ul',
+          relations.items
+            .map(item => item.slots({
+              string: slots.string,
+              disableStandaloneWithFiles: slots.disableStandaloneWithFiles,
+            }))),
+    }),
+};