diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-06-18 09:57:51 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-06-18 22:56:15 -0300 |
commit | 53b652508d83702f9451f0381d2f5a5ba76b7233 (patch) | |
tree | 3b557b211984090c8616df2cadefe5ed2029dcc5 /src/content/dependencies/generateContributionTooltip.js | |
parent | 6cbdcc8b041fc8e9a0300d9616ff5dafe0710c07 (diff) |
content: generateContributionTooltip, etc
Diffstat (limited to 'src/content/dependencies/generateContributionTooltip.js')
-rw-r--r-- | src/content/dependencies/generateContributionTooltip.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/content/dependencies/generateContributionTooltip.js b/src/content/dependencies/generateContributionTooltip.js new file mode 100644 index 00000000..c4df875c --- /dev/null +++ b/src/content/dependencies/generateContributionTooltip.js @@ -0,0 +1,42 @@ +export default { + contentDependencies: [ + 'generateContributionTooltipChronologySection', + 'generateContributionTooltipExternalLinkSection', + 'generateTooltip', + ], + + extraDependencies: ['html'], + + relations: (relation, contribution) => ({ + tooltip: + relation('generateTooltip'), + + externalLinkSection: + relation('generateContributionTooltipExternalLinkSection', contribution), + + chronologySection: + relation('generateContributionTooltipChronologySection', contribution), + }), + + slots: { + showExternalLinks: {type: 'boolean'}, + showChronology: {type: 'boolean'}, + }, + + generate: (relations, slots, {html}) => + relations.tooltip.slots({ + attributes: + {class: ['icons', 'icons-tooltip']}, + + contentAttributes: + {[html.joinChildren]: ''}, + + content: [ + slots.showExternalLinks && + relations.externalLinkSection, + + slots.showChronology && + relations.chronologySection, + ], + }), +}; |