« get me outta code hell

content: generatePageLayout (mostly stub) - 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:
author(quasar) nebula <qznebula@protonmail.com>2023-04-06 12:34:39 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-04-06 12:34:39 -0300
commit0cbfa8c1b70080c7ec4eb352902cf76f8ef30fcf (patch)
tree42d727946c7a0e66629b578c77e6e43bc353b7a8 /src/content/dependencies/generateAlbumInfoPage.js
parent8f4473336fcf9ed94222797ce7e0c35226a90cbb (diff)
content: generatePageLayout (mostly stub)
Diffstat (limited to 'src/content/dependencies/generateAlbumInfoPage.js')
-rw-r--r--src/content/dependencies/generateAlbumInfoPage.js27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/content/dependencies/generateAlbumInfoPage.js b/src/content/dependencies/generateAlbumInfoPage.js
index 59c314a..dcd8589 100644
--- a/src/content/dependencies/generateAlbumInfoPage.js
+++ b/src/content/dependencies/generateAlbumInfoPage.js
@@ -4,6 +4,7 @@ export default {
     'generateAlbumSocialEmbed',
     'generateAlbumStyleRules',
     'generateColorStyleRules',
+    'generatePageLayout',
   ],
 
   extraDependencies: [
@@ -13,6 +14,8 @@ export default {
   relations(relation, album) {
     const relations = {};
 
+    relations.layout = relation('generatePageLayout');
+
     relations.content = relation('generateAlbumInfoPageContent', album);
     relations.socialEmbed = relation('generateAlbumSocialEmbed', album);
     relations.albumStyleRules = relation('generateAlbumStyleRules', album);
@@ -33,21 +36,21 @@ export default {
   generate(data, relations, {
     language,
   }) {
-    const page = {};
-
-    Object.assign(page, relations.content);
-
-    page.title = language.$('albumPage.title', {album: data.name});
+    // page.title = language.$('albumPage.title', {album: data.name});
 
-    page.themeColor = data.color;
+    // page.themeColor = data.color;
 
-    page.styleRules = [
-      relations.albumStyleRules,
-      relations.colorStyleRules,
-    ];
+    // page.styleRules = [
+    //   relations.albumStyleRules,
+    //   relations.colorStyleRules,
+    // ];
 
-    page.socialEmbed = relations.socialEmbed;
+    // page.socialEmbed = relations.socialEmbed;
 
-    return page;
+    return relations.layout
+      .slot('title', language.$('albumPage.title', {album: data.name}))
+      .slot('cover', relations.content.cover)
+      .slot('mainContent', relations.content.main.content)
+      .slot('socialEmbed', relations.socialEmbed);
   },
 };