diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-06-22 16:37:36 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-06-22 16:37:36 -0300 |
commit | 53395fa815cdf6f912e78f80bef8908005186270 (patch) | |
tree | 47a5a37c0505e8c10ffba949f5d1a34e44524598 /src/content/dependencies/linkGroupExtra.js | |
parent | a5e6bb93032ee32f2fa19689455e6cb8dd9f3da9 (diff) |
content: group info + gallery pages
These are good to go! Only thing missing is carousels on gallery pages.
Diffstat (limited to 'src/content/dependencies/linkGroupExtra.js')
-rw-r--r-- | src/content/dependencies/linkGroupExtra.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/content/dependencies/linkGroupExtra.js b/src/content/dependencies/linkGroupExtra.js new file mode 100644 index 0000000..ee6a3b1 --- /dev/null +++ b/src/content/dependencies/linkGroupExtra.js @@ -0,0 +1,34 @@ +import {empty} from '../../util/sugar.js'; + +export default { + contentDependencies: [ + 'linkGroup', + 'linkGroupGallery', + ], + + extraDependencies: ['html'], + + relations(relation, group) { + const relations = {}; + + relations.info = + relation('linkGroup', group); + + if (!empty(group.albums)) { + relations.gallery = + relation('linkGroupGallery', group); + } + + return relations; + }, + + slots: { + extra: { + validate: v => v.is('gallery'), + }, + }, + + generate(relations, slots) { + return relations[slots.extra ?? 'info'] ?? relations.info; + }, +}; |