diff options
3 files changed, 28 insertions, 21 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js b/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js index 1d498b9f..d588edc0 100644 --- a/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js +++ b/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js @@ -5,14 +5,16 @@ export default { query: (track, artist) => ({ rereleases: sortAlbumsTracksChronologically( - track.otherReleases.filter(track => { - const contribs = [ - ...track.artistContribs, - ...track.contributorContribs, - ]; + track.otherReleases + .filter(track => track.album.style !== 'meta') + .filter(track => { + const contribs = [ + ...track.artistContribs, + ...track.contributorContribs, + ]; - return contribs.some(contrib => contrib.artist === artist); - })), + return contribs.some(contrib => contrib.artist === artist); + })), }), relations: (relation, query, track, artist) => ({ @@ -30,14 +32,11 @@ query: (track, artist) => ({ data: (query, track) => ({ firstReleaseDate: - track.dateFirstReleased ?? - track.album.date, + track.date, rereleaseDates: query.rereleases - .map(rerelease => - rerelease.dateFirstReleased ?? - rerelease.album.date), + .map(rerelease => rerelease.date), }), generate: (data, relations, {html, language}) => diff --git a/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js b/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js index bf5fe616..d9f7eb34 100644 --- a/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js +++ b/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js @@ -4,8 +4,12 @@ export default { query(track, artist) { const query = {}; + const regularReleases = + track.allReleases + .filter(track => track.album.style !== 'meta'); + query.firstRelease = - sortAlbumsTracksChronologically(track.allReleases)[0]; + sortAlbumsTracksChronologically(regularReleases)[0]; const contribs = [ ...query.firstRelease.artistContribs, @@ -36,12 +40,10 @@ export default { artist.name, rereleaseDate: - track.dateFirstReleased ?? - track.album.date, + track.date, firstReleaseDate: - query.firstRelease.dateFirstReleased ?? - query.firstRelease.album.date, + query.firstRelease.date, creditedOnFirstRelease: query.creditedOnFirstRelease, diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js index aa07e736..fa384a3e 100644 --- a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js +++ b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js @@ -19,6 +19,10 @@ export default { query.displayedContributions = selectRepresentativeArtistContributorContribs(contribs); + const regularReleases = + query.track.allReleases + .filter(track => track.album.style !== 'meta'); + // It's kinda awkward to perform this chronological sort here, // per track, rather than just reusing the one that's done to // sort all the items on the page altogether... but then, the @@ -27,14 +31,16 @@ export default { // this is according to the dates of the tracks. Those can be // different - and it's the latter that determines whether the // track is a rerelease! - const allReleasesChronologically = - sortAlbumsTracksChronologically(query.track.allReleases); + const regularReleasesChronologically = + sortAlbumsTracksChronologically(regularReleases); query.isFirstRelease = - allReleasesChronologically[0] === query.track; + regularReleases.includes(query.track) && + regularReleasesChronologically[0] === query.track; query.isLaterRelease = - allReleasesChronologically[0] !== query.track; + regularReleases.includes(query.track) && + regularReleasesChronologically[0] !== query.track; query.hasOtherCreditedReleases = query.track.otherReleases.some(track => { |