diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-03-19 17:57:27 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-03-19 17:57:27 -0300 |
commit | a213861e467ec99b2a197c4c54f9034a4d9f1516 (patch) | |
tree | 03b8b2e3affb17ab26dc88feaf2b4dc627f273ed /src/content/dependencies/generateAlbumInfoPage.js | |
parent | 41c22a553d43fbcc04b7a17ec6f83583ed7f3443 (diff) |
data steps: generateAlbumInfoPage & relations implementation
Diffstat (limited to 'src/content/dependencies/generateAlbumInfoPage.js')
-rw-r--r-- | src/content/dependencies/generateAlbumInfoPage.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/content/dependencies/generateAlbumInfoPage.js b/src/content/dependencies/generateAlbumInfoPage.js new file mode 100644 index 00000000..8bbb320f --- /dev/null +++ b/src/content/dependencies/generateAlbumInfoPage.js @@ -0,0 +1,47 @@ +export default { + contentDependencies: [ + 'generateAlbumInfoPageContent', + 'generateAlbumSocialEmbed', + 'generateAlbumStyleRules', + 'generateColorStyleRules', + ], + + extraDependencies: [ + 'language', + ], + + relations(relation, album) { + const relations = {}; + + relations.socialEmbed = relation('generateAlbumSocialEmbed', album); + relations.albumStyleRules = relation('generateAlbumStyleRules', album); + relations.colorStyleRules = relation('generateColorStyleRules', album.color); + + return relations; + }, + + data(album) { + const data = {}; + + return data; + }, + + generate(data, relations, { + language, + }) { + const page = {}; + + page.title = language.$('albumPage.title', {album: data.name}); + + page.themeColor = data.color; + + page.styleRules = [ + relations.albumStyleRules, + relations.colorStyleRules, + ]; + + page.socialEmbed = relations.socialEmbed; + + return page; + }, +}; |