From bdb4276ffae1c978ec1d1a6e462faf8c117e20a9 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 26 Jul 2023 11:13:29 -0300 Subject: content: generateGridActionLinks --- src/content/dependencies/generateCoverGrid.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/content/dependencies/generateCoverGrid.js') diff --git a/src/content/dependencies/generateCoverGrid.js b/src/content/dependencies/generateCoverGrid.js index c7713cce..a9beb6f4 100644 --- a/src/content/dependencies/generateCoverGrid.js +++ b/src/content/dependencies/generateCoverGrid.js @@ -1,8 +1,15 @@ import {stitchArrays} from '../../util/sugar.js'; export default { + contentDependencies: ['generateGridActionLinks'], extraDependencies: ['html'], + relations(relation) { + return { + actionLinks: relation('generateGridActionLinks'), + }; + }, + slots: { images: {validate: v => v.strictArrayOf(v.isHTML)}, links: {validate: v => v.strictArrayOf(v.isHTML)}, @@ -10,11 +17,12 @@ export default { info: {validate: v => v.strictArrayOf(v.isHTML)}, lazy: {validate: v => v.oneOf(v.isWholeNumber, v.isBoolean)}, + actionLinks: {validate: v => v.sparseArrayOf(v.isHTML)}, }, - generate(slots, {html}) { + generate(relations, slots, {html}) { return ( - html.tag('div', {class: 'grid-listing'}, + html.tag('div', {class: 'grid-listing'}, [ stitchArrays({ image: slots.images, link: slots.links, @@ -37,6 +45,10 @@ export default { html.tag('span', {[html.onlyIfContent]: true}, name), html.tag('span', {[html.onlyIfContent]: true}, info), ], - })))); + })), + + relations.actionLinks + .slot('actionLinks', slots.actionLinks), + ])); }, }; -- cgit 1.3.0-6-gf8a5