« get me outta code hell

generateAlbumInfoPage.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateAlbumInfoPage.js
blob: dcd8589cf16f7c451701d75a3e4c045e90006e8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
export default {
  contentDependencies: [
    'generateAlbumInfoPageContent',
    'generateAlbumSocialEmbed',
    'generateAlbumStyleRules',
    'generateColorStyleRules',
    'generatePageLayout',
  ],

  extraDependencies: [
    'language',
  ],

  relations(relation, album) {
    const relations = {};

    relations.layout = relation('generatePageLayout');

    relations.content = relation('generateAlbumInfoPageContent', album);
    relations.socialEmbed = relation('generateAlbumSocialEmbed', album);
    relations.albumStyleRules = relation('generateAlbumStyleRules', album);
    relations.colorStyleRules = relation('generateColorStyleRules', album.color);

    return relations;
  },

  data(album) {
    const data = {};

    data.name = album.name;
    data.color = album.color;

    return data;
  },

  generate(data, relations, {
    language,
  }) {
    // page.title = language.$('albumPage.title', {album: data.name});

    // page.themeColor = data.color;

    // page.styleRules = [
    //   relations.albumStyleRules,
    //   relations.colorStyleRules,
    // ];

    // page.socialEmbed = relations.socialEmbed;

    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);
  },
};