From d31c889df346b7579ce1afe0746fb4aa0ed8227d Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 14 Feb 2024 13:07:09 -0400 Subject: content, external-links, test: provide album track count as context --- src/content/dependencies/generateAlbumReleaseInfo.js | 11 ++++++++++- src/util/external-links.js | 7 +++++-- 2 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/content/dependencies/generateAlbumReleaseInfo.js b/src/content/dependencies/generateAlbumReleaseInfo.js index cb3aaa75..5128fbac 100644 --- a/src/content/dependencies/generateAlbumReleaseInfo.js +++ b/src/content/dependencies/generateAlbumReleaseInfo.js @@ -46,6 +46,8 @@ export default { data.duration = accumulateSum(album.tracks, track => track.duration); data.durationApproximate = album.tracks.length > 1; + data.numTracks = album.tracks.length; + return data; }, @@ -95,7 +97,14 @@ export default { relations.externalLinks .map(link => link.slots({ - context: 'album', + context: [ + 'album', + (data.numTracks === 0 + ? 'albumNoTracks' + : data.numTracks === 1 + ? 'albumOneTrack' + : 'albumMultipleTracks'), + ], style: 'normal', }))), })), diff --git a/src/util/external-links.js b/src/util/external-links.js index 14ee10a5..2cf23c61 100644 --- a/src/util/external-links.js +++ b/src/util/external-links.js @@ -24,6 +24,9 @@ export const isExternalLinkStyle = is(...externalLinkStyles); export const externalLinkContexts = [ 'album', + 'albumOneTrack', + 'albumMultipleTracks', + 'albumNoTracks', 'artist', 'flash', 'generic', @@ -125,7 +128,7 @@ export const externalLinkSpec = [ { match: { - context: 'album', + context: 'albumMultipleTracks', domain: 'youtube.com', pathname: /^watch/, }, @@ -138,7 +141,7 @@ export const externalLinkSpec = [ { match: { - context: 'album', + context: 'albumMultipleTracks', domain: 'youtu.be', }, -- cgit 1.3.0-6-gf8a5