« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateAlbumInfoPage.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateAlbumInfoPage.js')
-rw-r--r--src/content/dependencies/generateAlbumInfoPage.js47
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 0000000..8bbb320
--- /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;
+  },
+};