« get me outta code hell

generateTrackCoverArtworks.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/generateTrackCoverArtworks.js
blob: 1cd5bff029825c5743986716d2c7e1a2ed8561c2 (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
export default {
  contentDependencies: ['generateTrackCoverArtwork'],

  relations: (relation, track) => ({
    albumCover:
      (!track.hasUniqueCoverArt && track.album.hasCoverArt
        ? relation('generateTrackCoverArtwork', track.album.coverArtworks[0])
        : null),

    trackCovers:
      (track.hasUniqueCoverArt
        ? track.trackArtworks.map(artwork =>
            relation('generateTrackCoverArtwork', artwork))
        : null),
  }),

  generate: (relations) =>
    [relations.albumCover, ...relations.trackCovers ?? []]
      .filter(Boolean)
      .map(cover =>
        cover.slots({
          showOriginDetails: true,
          showReferenceLinks: true,
        })),
};