diff options
Diffstat (limited to 'src/content/dependencies/generateGroupSidebar.js')
-rw-r--r-- | src/content/dependencies/generateGroupSidebar.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/content/dependencies/generateGroupSidebar.js b/src/content/dependencies/generateGroupSidebar.js new file mode 100644 index 0000000..3abb339 --- /dev/null +++ b/src/content/dependencies/generateGroupSidebar.js @@ -0,0 +1,39 @@ +export default { + contentDependencies: [ + 'generateGroupSidebarCategoryDetails', + 'generatePageSidebar', + ], + + extraDependencies: ['html', 'language', 'wikiData'], + + sprawl: ({groupCategoryData}) => ({groupCategoryData}), + + relations: (relation, sprawl, group) => ({ + sidebar: + relation('generatePageSidebar'), + + categoryDetails: + sprawl.groupCategoryData.map(category => + relation('generateGroupSidebarCategoryDetails', category, group)), + }), + + slots: { + currentExtra: { + validate: v => v.is('gallery'), + }, + }, + + generate: (relations, slots, {html, language}) => + relations.sidebar.slots({ + attributes: {class: 'category-map-sidebar-box'}, + + content: [ + html.tag('h1', + language.$('groupSidebar.title')), + + relations.categoryDetails + .map(details => + details.slot('currentExtra', slots.currentExtra)), + ], + }), +}; |