diff options
Diffstat (limited to 'src/content/dependencies/generateTrackInfoPageOtherReleasesList.js')
| -rw-r--r-- | src/content/dependencies/generateTrackInfoPageOtherReleasesList.js | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/src/content/dependencies/generateTrackInfoPageOtherReleasesList.js b/src/content/dependencies/generateTrackInfoPageOtherReleasesList.js deleted file mode 100644 index ca6c3fb7..00000000 --- a/src/content/dependencies/generateTrackInfoPageOtherReleasesList.js +++ /dev/null @@ -1,83 +0,0 @@ -import {onlyItem, stitchArrays} from '#sugar'; - -export default { - query(track) { - const query = {}; - - query.singleSingle = - onlyItem( - track.otherReleases.filter(track => track.album.style === 'single')); - - query.regularReleases = - (query.singleSingle - ? track.otherReleases.filter(track => track !== query.singleSingle) - : track.otherReleases); - - return query; - }, - - relations: (relation, query, _track) => ({ - singleLink: - (query.singleSingle - ? relation('linkTrack', query.singleSingle) - : null), - - trackLinks: - query.regularReleases - .map(track => relation('linkTrack', track)), - }), - - data: (query, _track) => ({ - albumNames: - query.regularReleases - .map(track => track.album.name), - - albumColors: - query.regularReleases - .map(track => track.album.color), - }), - - generate: (data, relations, {html, language}) => - html.tag('p', - {[html.onlyIfContent]: true}, - - language.encapsulate('releaseInfo.alsoReleased', capsule => - language.encapsulate(capsule, workingCapsule => { - const workingOptions = {}; - - let any = false; - - const albumList = - language.formatConjunctionList( - stitchArrays({ - trackLink: relations.trackLinks, - albumName: data.albumNames, - albumColor: data.albumColors, - }).map(({trackLink, albumName, albumColor}) => - trackLink.slots({ - content: language.sanitize(albumName), - color: albumColor, - }))); - - if (!html.isBlank(albumList)) { - any = true; - workingCapsule += '.onAlbums'; - workingOptions.albums = albumList; - } - - if (relations.singleLink) { - any = true; - workingCapsule += '.asSingle'; - workingOptions.single = - relations.singleLink.slots({ - content: language.$(capsule, 'single'), - }); - } - - if (any) { - return language.$(workingCapsule, workingOptions); - } else { - return html.blank(); - } - }))), -}; |