diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-05-11 19:15:17 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-05-11 19:15:17 -0300 |
| commit | bbddc3020b0a9e2353d27fca15ec922a97198c13 (patch) | |
| tree | edb1b4c316c7d4b630cf06c4ecec0b1733fb915f /src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js | |
| parent | 7ec55d7fe6e3d247d525cb1d52b44c153030e32b (diff) | |
content, css, data: Album.style "meta"
Diffstat (limited to 'src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js')
| -rw-r--r-- | src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js | 36 |
1 files changed, 28 insertions, 8 deletions
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)) { |