diff options
Diffstat (limited to 'src/content')
3 files changed, 21 insertions, 44 deletions
diff --git a/src/content/dependencies/generateAdditionalFilesListChunk.js b/src/content/dependencies/generateAdditionalFilesListChunk.js index 18d5b894..75bac56a 100644 --- a/src/content/dependencies/generateAdditionalFilesListChunk.js +++ b/src/content/dependencies/generateAdditionalFilesListChunk.js @@ -1,47 +1,6 @@ -import {compareArrays, stitchArrays} from '#sugar'; +import {stitchArrays} from '#sugar'; export default { - query(file) { - const query = {}; - - const album = - (file.thing.isTrack - ? file.thing.album - : file.thing.isAlbum - ? file.thing - : []); - - // Consider all presented additional file lists, not just ones - // of the same type as this chunk/list. - const nearbyAdditionalFiles = - (album - ? [...album.additionalFiles, - ...album.tracks.flatMap(track => [ - ...track.additionalFiles, - ...track.sheetMusicFiles, - ...track.midiProjectFiles, - ])] - : []); - - const contribsMatch = (a, b) => - compareArrays( - a.artistContribs.map(contrib => contrib.artist), - b.artistContribs.map(contrib => contrib.artist), - {checkOrder: false}); - - if ( - nearbyAdditionalFiles.every(x => contribsMatch(x, file)) && - nearbyAdditionalFiles.every(x => contribsMatch(x, x.thing)) && - nearbyAdditionalFiles.every(x => contribsMatch(x, album)) - ) { - query.contextContribs = file.thing.artistContribs; - } else { - query.contextContribs = []; - } - - return query; - }, - relations: (relation, query, file) => ({ description: relation('transformContent', file.description), @@ -51,7 +10,7 @@ export default { .map(filename => relation('linkAdditionalFile', file, filename)), artistCredit: - relation('generateArtistCredit', file.artistContribs, query.contextContribs), + relation('generateArtistCredit', file.artistContribs, []), }), data: (_query, file) => ({ @@ -98,6 +57,14 @@ export default { relations.artistCredit.setSlots({ normalStringKey: entryCapsule + '.credit', + + showAnnotation: true, + showExternalLinks: true, + showChronology: true, + + chronologyKind: + // Sorry, lol + slots.string.replace(/s$/, ''), }); if (!html.isBlank(relations.artistCredit)) { diff --git a/src/content/dependencies/generateContributionTooltipChronologySection.js b/src/content/dependencies/generateContributionTooltipChronologySection.js index 0cabc877..58bbddd0 100644 --- a/src/content/dependencies/generateContributionTooltipChronologySection.js +++ b/src/content/dependencies/generateContributionTooltipChronologySection.js @@ -3,7 +3,15 @@ function getName(thing) { return null; } - if (thing.isArtwork || thing.isMusicVideo) { + if (thing.isAdditionalFile) { + return thing.thing.name; + } + + if (thing.isArtwork) { + return thing.thing.name; + } + + if (thing.isMusicVideo) { return thing.thing.name; } diff --git a/src/content/dependencies/linkAnythingMan.js b/src/content/dependencies/linkAnythingMan.js index 6efa5fe1..d37c47e0 100644 --- a/src/content/dependencies/linkAnythingMan.js +++ b/src/content/dependencies/linkAnythingMan.js @@ -11,6 +11,8 @@ export default { ? relation('linkTrack', thing) : thing.isMusicVideo ? relation('linkAnythingMan', thing.thing) + : thing.isAdditionalFile + ? relation('linkAnythingMan', thing.thing) : null), }), |