« get me outta code hell

linkTrackDynamically.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/linkTrackDynamically.js
blob: 242cd4cbb364dd38626091ddc7a903328cf10d75 (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
export default {
  contentDependencies: ['linkTrack'],
  extraDependencies: ['pagePath'],

  relations: (relation, track) => ({
    infoLink: relation('linkTrack', track),
  }),

  data: (track) => ({
    trackDirectory:
      track.directory,

    albumDirectory:
      track.album.directory,

    trackHasCommentary:
      !!track.commentary,
  }),

  generate(data, relations, {pagePath}) {
    if (
      pagePath[0] === 'albumCommentary' &&
      pagePath[1] === data.albumDirectory &&
      data.trackHasCommentary
    ) {
      relations.infoLink.setSlots({
        anchor: true,
        hash: data.trackDirectory,
      });
    }

    return relations.infoLink;
  },
};