diff options
Diffstat (limited to 'src/content/dependencies/generateFlashActGalleryPage.js')
| -rw-r--r-- | src/content/dependencies/generateFlashActGalleryPage.js | 51 |
1 files changed, 17 insertions, 34 deletions
diff --git a/src/content/dependencies/generateFlashActGalleryPage.js b/src/content/dependencies/generateFlashActGalleryPage.js index 8f174b21..681a61b8 100644 --- a/src/content/dependencies/generateFlashActGalleryPage.js +++ b/src/content/dependencies/generateFlashActGalleryPage.js @@ -1,21 +1,4 @@ -import {stitchArrays} from '#sugar'; - -import striptags from 'striptags'; - export default { - contentDependencies: [ - 'generateCoverGrid', - 'generateFlashActNavAccent', - 'generateFlashActSidebar', - 'generatePageLayout', - 'image', - 'linkFlash', - 'linkFlashAct', - 'linkFlashIndex', - ], - - extraDependencies: ['language'], - relations: (relation, act) => ({ layout: relation('generatePageLayout'), @@ -24,7 +7,7 @@ export default { relation('linkFlashIndex'), flashActNavLink: - relation('linkFlashAct', act), + relation('linkFlashActWithTitle', act), flashActNavAccent: relation('generateFlashActNavAccent', act), @@ -37,7 +20,7 @@ export default { coverGridImages: act.flashes - .map(_flash => relation('image')), + .map(flash => relation('image', flash.coverArtwork)), flashLinks: act.flashes @@ -46,22 +29,28 @@ export default { data: (act) => ({ name: act.name, + title: act.title, color: act.color, flashNames: act.flashes.map(flash => flash.name), - - flashCoverPaths: - act.flashes.map(flash => - ['media.flashArt', flash.directory, flash.coverArtFileExtension]) }), - generate: (data, relations, {language}) => - language.encapsulate('flashPage', pageCapsule => + generate: (data, relations, {html, language}) => + language.encapsulate('flashActPage', pageCapsule => relations.layout.slots({ title: - language.$(pageCapsule, 'title', { - flash: striptags(data.name), + language.encapsulate(pageCapsule, 'title', workingCapsule => { + const workingOptions = {act: data.name}; + + if (data.title) { + workingCapsule += '.withTitle'; // sigh + workingOptions.title = + html.tag('span', {class: 'flash-act-title'}, + data.title); + } + + return language.$(workingCapsule, workingOptions); }), color: data.color, @@ -71,15 +60,9 @@ export default { mainContent: [ relations.coverGrid.slots({ links: relations.flashLinks, + images: relations.coverGridImages, names: data.flashNames, lazy: 6, - - images: - stitchArrays({ - image: relations.coverGridImages, - path: data.flashCoverPaths, - }).map(({image, path}) => - image.slot('path', path)), }), ], |