« get me outta code hell

linkAlbumDynamically.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/linkAlbumDynamically.js
blob: ca295b41954e726a5550a488875204f1cd719e1f (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
export default {
  contentDependencies: ['linkAlbumGallery', 'linkAlbum'],
  extraDependencies: ['pagePath'],

  relations: (relation, album) => ({
    galleryLink: relation('linkAlbumGallery', album),
    infoLink: relation('linkAlbum', album),
  }),

  data: (album) => ({
    albumDirectory:
      album.directory,

    albumHasCommentary:
      !!album.commentary,
  }),

  generate: (data, relations, {pagePath}) =>
    (pagePath[0] === 'albumCommentary' &&
     pagePath[1] === data.albumDirectory &&
     data.albumHasCommentary
      ? relations.infoLink.slots({
          anchor: true,
          hash: 'album-commentary',
        })

   : pagePath[0] === 'albumGallery'
      ? relations.galleryLink
      : relations.infoLink),
};