From 666375a0409155d23fc7b795210db1faaccd33a7 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 3 Apr 2024 18:16:39 -0300 Subject: content: generateWikiHomePage: update sidebar slotting --- .../dependencies/generateWikiHomeNewsBox.js | 65 +++++++++++----------- 1 file changed, 34 insertions(+), 31 deletions(-) (limited to 'src/content/dependencies/generateWikiHomeNewsBox.js') diff --git a/src/content/dependencies/generateWikiHomeNewsBox.js b/src/content/dependencies/generateWikiHomeNewsBox.js index f592ab99..e054edda 100644 --- a/src/content/dependencies/generateWikiHomeNewsBox.js +++ b/src/content/dependencies/generateWikiHomeNewsBox.js @@ -1,48 +1,51 @@ import {empty, stitchArrays} from '#sugar'; export default { - contentDependencies: ['linkNewsEntry', 'transformContent'], + contentDependencies: [ + 'generatePageSidebarBox', + 'linkNewsEntry', + 'transformContent', + ], + extraDependencies: ['html', 'language', 'wikiData'], - sprawl({newsData}) { - return { - entries: newsData.slice(0, 3), - }; - }, + sprawl: ({newsData}) => ({ + entries: + newsData.slice(0, 3), + }), - relations(relation, sprawl) { - return { - entryContents: - sprawl.entries - .map(entry => relation('transformContent', entry.contentShort)), + relations: (relation, sprawl) => ({ + box: + relation('generatePageSidebarBox'), - entryMainLinks: - sprawl.entries - .map(entry => relation('linkNewsEntry', entry)), + entryContents: + sprawl.entries + .map(entry => relation('transformContent', entry.contentShort)), - entryReadMoreLinks: - sprawl.entries - .map(entry => - entry.contentShort !== entry.content && - relation('linkNewsEntry', entry)), - }; - }, + entryMainLinks: + sprawl.entries + .map(entry => relation('linkNewsEntry', entry)), - data(sprawl) { - return { - entryDates: - sprawl.entries - .map(entry => entry.date), - } - }, + entryReadMoreLinks: + sprawl.entries + .map(entry => + entry.contentShort !== entry.content && + relation('linkNewsEntry', entry)), + }), + + data: (sprawl) => ({ + entryDates: + sprawl.entries + .map(entry => entry.date), + }), generate(data, relations, {html, language}) { if (empty(relations.entryContents)) { return html.blank(); } - return { - class: 'latest-news-sidebar-box', + return relations.box.slots({ + attributes: {class: 'latest-news-sidebar-box'}, content: [ html.tag('h1', language.$('homepage.news.title')), @@ -77,6 +80,6 @@ export default { })), ])), ], - }; + }); }, }; -- cgit 1.3.0-6-gf8a5