From a076f542beec5e071dd436ac2201ad096422c42e Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 20 Apr 2025 12:33:58 -0300 Subject: content: generateArtTagGalleryPage: custom artwork labels --- .../dependencies/generateAlbumGalleryTrackGrid.js | 4 +-- .../dependencies/generateArtTagGalleryPage.js | 32 ++++++++++++++++------ 2 files changed, 26 insertions(+), 10 deletions(-) (limited to 'src/content/dependencies') diff --git a/src/content/dependencies/generateAlbumGalleryTrackGrid.js b/src/content/dependencies/generateAlbumGalleryTrackGrid.js index 85e7576c..fb5ed7ea 100644 --- a/src/content/dependencies/generateAlbumGalleryTrackGrid.js +++ b/src/content/dependencies/generateAlbumGalleryTrackGrid.js @@ -69,7 +69,7 @@ export default { album.tracks .map(track => track.name), - trackArtworkArtists: + artworkArtists: query.artworks.map(artwork => (query.artistsForAllTrackArtworks ? null @@ -110,7 +110,7 @@ export default { })), info: - data.trackArtworkArtists.map(artists => + data.artworkArtists.map(artists => language.$('misc.coverGrid.details.coverArtists', { [language.onlyIfOptions]: ['artists'], diff --git a/src/content/dependencies/generateArtTagGalleryPage.js b/src/content/dependencies/generateArtTagGalleryPage.js index 344e7bda..cfd6d03e 100644 --- a/src/content/dependencies/generateArtTagGalleryPage.js +++ b/src/content/dependencies/generateArtTagGalleryPage.js @@ -1,5 +1,5 @@ import {sortArtworksChronologically} from '#sort'; -import {empty, unique} from '#sugar'; +import {empty, stitchArrays, unique} from '#sugar'; export default { contentDependencies: [ @@ -103,11 +103,15 @@ export default { query.allArtworks .map(artwork => artwork.thing.name); - data.coverArtists = + data.artworkArtists = query.allArtworks .map(artwork => artwork.artistContribs .map(contrib => contrib.artist.name)); + data.artworkLabels = + query.allArtworks + .map(artwork => artwork.label) + data.onlyFeaturedIndirectly = query.allArtworks.map(artwork => !query.directArtworks.includes(artwork)); @@ -204,12 +208,24 @@ export default { (onlyFeaturedIndirectly ? 'featured-indirectly' : '')), info: - data.coverArtists.map(names => - (names === null - ? null - : language.$('misc.coverGrid.details.coverArtists', { - artists: language.formatUnitList(names), - }))), + stitchArrays({ + artists: data.artworkArtists, + label: data.artworkLabels, + }).map(({artists, label}) => + language.encapsulate('misc.coverGrid.details.coverArtists', workingCapsule => { + const workingOptions = {}; + + workingOptions[language.onlyIfOptions] = ['artists']; + workingOptions.artists = + language.formatUnitList(artists); + + if (label) { + workingCapsule += '.customLabel'; + workingOptions.label = label; + } + + return language.$(workingCapsule, workingOptions); + })), }), ], -- cgit 1.3.0-6-gf8a5