« get me outta code hell

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

  relations: (relation, track) => ({
    coverArtwork:
      relation('generateCoverArtwork',
        (track.hasUniqueCoverArt
          ? track.artTags
          : track.album.artTags),
        (track.hasUniqueCoverArt
          ? track.coverArtistContribs
          : track.album.coverArtistContribs)),
  }),

  data: (track) => ({
    path:
      (track.hasUniqueCoverArt
        ? ['media.trackCover', track.album.directory, track.directory, track.coverArtFileExtension]
        : ['media.albumCover', track.album.directory, track.album.coverArtFileExtension]),

    color:
      track.color,

    dimensions:
      (track.hasUniqueCoverArt
        ? track.coverArtDimensions
        : track.album.coverArtDimensions),
  }),

  generate: (data, relations) =>
    relations.coverArtwork.slots({
      path: data.path,
      color: data.color,
      dimensions: data.dimensions,
    }),
};