« 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/generateListingPage.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateListingPage.js')
-rw-r--r--src/content/dependencies/generateListingPage.js19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/content/dependencies/generateListingPage.js b/src/content/dependencies/generateListingPage.js
index ae186d2..6e9db68 100644
--- a/src/content/dependencies/generateListingPage.js
+++ b/src/content/dependencies/generateListingPage.js
@@ -9,28 +9,33 @@ export default {
     };
   },
 
-  slots: {
-    title: {type: 'string'},
+  data(query, sprawl, listing) {
+    return {
+      stringsKey: listing.stringsKey,
+    };
+  },
 
+  slots: {
     type: {
       validate: v => v.is('rows'),
     },
 
     rows: {
-      validate: v => v.arrayOf(v.isHTML),
+      validate: v => v.arrayOf(v.isObject),
     },
   },
 
-  generate(relations, slots, {html}) {
+  generate(data, relations, slots, {html}) {
     return relations.layout.slots({
-      title: slots.title,
+      title: language.$(`listingPage.${data.stringsKey}.title`),
       headingMode: 'sticky',
 
       mainContent: [
         slots.type === 'rows' &&
           html.tag('ul',
-            slots.rows
-              .map(row => html.tag('li', row))),
+            slots.rows.map(row =>
+              html.tag('li',
+                language.$(`listingPage.${data.stringsKey}.item`, row)))),
       ],
 
       navLinkStyle: 'hierarchical',