« get me outta code hell

content: generateAdditionalFilesList: less-slots rewrite - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateAdditionalFilesList.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-05-16 13:43:28 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-05-16 13:44:20 -0300
commiteb7f703198ac7a6f24c5d62d67ee9ab05eb5e8ac (patch)
treea713d7d5318cbfb3f31d4c98d793d62ea4793e48 /src/content/dependencies/generateAdditionalFilesList.js
parent3c2a844e49e70858c37b3bd87e0e28652d12af39 (diff)
content: generateAdditionalFilesList: less-slots rewrite
Diffstat (limited to 'src/content/dependencies/generateAdditionalFilesList.js')
-rw-r--r--src/content/dependencies/generateAdditionalFilesList.js28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/content/dependencies/generateAdditionalFilesList.js b/src/content/dependencies/generateAdditionalFilesList.js
index 68120b23..7e05b5b5 100644
--- a/src/content/dependencies/generateAdditionalFilesList.js
+++ b/src/content/dependencies/generateAdditionalFilesList.js
@@ -1,26 +1,22 @@
-import {stitchArrays} from '#sugar';
-
 export default {
+  contentDependencies: ['generateAdditionalFilesListChunk'],
   extraDependencies: ['html'],
 
-  slots: {
-    chunks: {
-      validate: v => v.strictArrayOf(v.isHTML),
-    },
+  relations: (relation, additionalFiles) => ({
+    chunks:
+      additionalFiles
+        .map(file => relation('generateAdditionalFilesListChunk', file)),
+  }),
 
-    chunkItems: {
-      validate: v => v.strictArrayOf(v.isHTML),
-    },
+  slots: {
+    showFileSizes: {type: 'boolean', default: true},
   },
 
-  generate: (slots, {html}) =>
+  generate: (relations, slots, {html}) =>
     html.tag('ul', {class: 'additional-files-list'},
       {[html.onlyIfContent]: true},
 
-      stitchArrays({
-        chunk: slots.chunks,
-        items: slots.chunkItems,
-      }).map(({chunk, items}) =>
-          chunk.clone()
-            .slot('items', items))),
+      relations.chunks.map(chunk => chunk.slots({
+        showFileSizes: slots.showFileSizes,
+      }))),
 };