diff options
Diffstat (limited to 'src/content')
| -rw-r--r-- | src/content/dependencies/generateAdditionalFilesListChunk.js | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/content/dependencies/generateAdditionalFilesListChunk.js b/src/content/dependencies/generateAdditionalFilesListChunk.js index 7d0e41c1..a9ae96c3 100644 --- a/src/content/dependencies/generateAdditionalFilesListChunk.js +++ b/src/content/dependencies/generateAdditionalFilesListChunk.js @@ -1,7 +1,23 @@ -import {stitchArrays} from '#sugar'; +import {compareArrays, stitchArrays} from '#sugar'; export default { - relations: (relation, file) => ({ + query: (file) => ({ + contextContribs: + ((file.thing.isTrack && + compareArrays( + file.thing.artistContribs.map(contrib => contrib.artist), + file.thing.album.artistContribs.map(contrib => contrib.artist), + {checkOrder: false})) + + ? file.thing.artistContribs + + : file.thing.isAlbum + ? file.thing.artistContribs + + : []), + }), + + relations: (relation, query, file) => ({ description: relation('transformContent', file.description), @@ -10,10 +26,10 @@ export default { .map(filename => relation('linkAdditionalFile', file, filename)), artistCredit: - relation('generateArtistCredit', file.artistContribs, []), + relation('generateArtistCredit', file.artistContribs, query.contextContribs), }), - data: (file) => ({ + data: (_query, file) => ({ title: file.title, |