diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/content/dependencies/generateAlbumReleaseInfo.js | 11 | ||||
-rw-r--r-- | src/util/external-links.js | 7 |
2 files changed, 15 insertions, 3 deletions
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', }, |