diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-20 12:33:58 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-20 12:33:58 -0300 |
commit | a076f542beec5e071dd436ac2201ad096422c42e (patch) | |
tree | ae91ce5d9e0b433327d3237f8159acb8567338fd /src/content/dependencies | |
parent | 69ae36f6eca95144931ec71af38d97405cfd594f (diff) |
content: generateArtTagGalleryPage: custom artwork labels preview
Diffstat (limited to 'src/content/dependencies')
-rw-r--r-- | src/content/dependencies/generateAlbumGalleryTrackGrid.js | 4 | ||||
-rw-r--r-- | src/content/dependencies/generateArtTagGalleryPage.js | 32 |
2 files changed, 26 insertions, 10 deletions
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); + })), }), ], |