From bbddc3020b0a9e2353d27fca15ec922a97198c13 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 11 May 2026 19:15:17 -0300 Subject: content, css, data: Album.style "meta" --- .../generateTrackInfoPageOtherReleasesLine.js | 36 +++++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js') diff --git a/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js b/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js index a3c65872..7a4f97d5 100644 --- a/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js +++ b/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js @@ -1,22 +1,22 @@ import {onlyItem, stitchArrays} from '#sugar'; export default { - query(track) { + query(track, releases) { const query = {}; query.singleSingle = onlyItem( - track.otherReleases.filter(track => track.album.style === 'single')); + releases.filter(track => track.album.style === 'single')); query.regularReleases = (query.singleSingle - ? track.otherReleases.filter(track => track !== query.singleSingle) - : track.otherReleases); + ? releases.filter(track => track !== query.singleSingle) + : releases); return query; }, - relations: (relation, query, track) => ({ + relations: (relation, query, track, _releases) => ({ textWithTooltip: relation('generateTextWithTooltip'), @@ -42,7 +42,10 @@ export default { otherTrack, track)), }), - data: (query, _track) => ({ + data: (query, track, _releases) => ({ + ownAlbumStyle: + track.album.style, + albumNames: query.regularReleases .map(track => track.album.name), @@ -57,11 +60,26 @@ export default { : null), }), - generate: (data, relations, {html, language}) => + slots: { + meta: {type: 'boolean', default: false}, + }, + + generate: (data, relations, slots, {html, language}) => language.encapsulate('releaseInfo.alsoReleased', capsule => language.encapsulate(capsule, workingCapsule => { const workingOptions = {}; + if (slots.meta) { + workingOptions.alsoReleased = + language.$(capsule, 'included'); + } else if (data.ownAlbumStyle === 'meta') { + workingOptions.alsoReleased = + language.$(capsule, 'released'); + } else { + workingOptions.alsoReleased = + language.$(capsule, 'alsoReleased'); + } + let any = false; const albumList = @@ -88,7 +106,9 @@ export default { }), tooltip: - trackTooltip, + (slots.meta + ? null + : trackTooltip), }))); if (!html.isBlank(albumList)) { -- cgit 1.3.0-6-gf8a5