diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-10-04 13:16:50 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-10-04 13:26:18 -0300 |
commit | a1bfa1d0d68890ebd5811bd46455d10be4bbc17d (patch) | |
tree | 2ca419228f3d9e4d3494c84469c22f11d1f7c2ae /src/content/dependencies/generateArtTagGalleryPage.js | |
parent | ccfced9e328749059262b8b4bb2671b33cccd98d (diff) |
support art tag info pages; ensure "art tag" terminology everywhere
Diffstat (limited to 'src/content/dependencies/generateArtTagGalleryPage.js')
-rw-r--r-- | src/content/dependencies/generateArtTagGalleryPage.js | 78 |
1 files changed, 34 insertions, 44 deletions
diff --git a/src/content/dependencies/generateArtTagGalleryPage.js b/src/content/dependencies/generateArtTagGalleryPage.js index c37fe710..fcdf917b 100644 --- a/src/content/dependencies/generateArtTagGalleryPage.js +++ b/src/content/dependencies/generateArtTagGalleryPage.js @@ -3,12 +3,14 @@ import {sortAlbumsTracksChronologically} from '#wiki-data'; export default { contentDependencies: [ + 'generateArtTagNavLinks', 'generateCoverGrid', 'generatePageLayout', 'generateQuickDescription', 'image', 'linkAlbum', 'linkArtTag', + 'linkArtTagGallery', 'linkTrack', ], @@ -20,9 +22,9 @@ export default { }; }, - query(sprawl, tag) { - const directThings = tag.directlyTaggedInThings; - const indirectThings = tag.indirectlyTaggedInThings; + query(sprawl, artTag) { + const directThings = artTag.directlyTaggedInThings; + const indirectThings = artTag.indirectlyTaggedInThings; const allThings = unique([...directThings, ...indirectThings]); sortAlbumsTracksChronologically(allThings, { @@ -33,57 +35,57 @@ export default { return {directThings, indirectThings, allThings}; }, - relations(relation, query, sprawl, tag) { + relations(relation, query, sprawl, artTag) { const relations = {}; relations.layout = relation('generatePageLayout'); - relations.artTagMainLink = - relation('linkArtTag', tag); + relations.navLinks = + relation('generateArtTagNavLinks', artTag); - // TODO: linkArtTagInfo relations.infoPageLink = - relation('linkArtTag', tag); + relation('linkArtTag', artTag); relations.quickDescription = - relation('generateQuickDescription', tag); + relation('generateQuickDescription', artTag); - if (!empty(tag.directAncestorTags)) { + if (!empty(artTag.directAncestorArtTags)) { relations.ancestorLinks = - tag.directAncestorTags.map(tag => - relation('linkArtTag', tag)); + artTag.directAncestorArtTags + .map(artTag => relation('linkArtTagGallery', artTag)); } - if (!empty(tag.directDescendantTags)) { + if (!empty(artTag.directDescendantArtTags)) { relations.descendantLinks = - tag.directDescendantTags.map(tag => - relation('linkArtTag', tag)); + artTag.directDescendantArtTags + .map(artTag => relation('linkArtTagGallery', artTag)); } relations.coverGrid = relation('generateCoverGrid'); relations.links = - query.allThings.map(thing => - (thing.album - ? relation('linkTrack', thing) - : relation('linkAlbum', thing))); + query.allThings + .map(thing => + (thing.album + ? relation('linkTrack', thing) + : relation('linkAlbum', thing))); relations.images = - query.allThings.map(thing => - relation('image', thing.artTags)); + query.allThings + .map(thing => relation('image', thing.artTags)); return relations; }, - data(query, sprawl, tag) { + data(query, sprawl, artTag) { const data = {}; data.enableListings = sprawl.enableListings; - data.name = tag.name; - data.color = tag.color; + data.name = artTag.name; + data.color = artTag.color; data.numArtworks = query.allThings.length; @@ -107,7 +109,7 @@ export default { return relations.layout .slots({ title: - language.$('tagPage.title', { + language.$('artTagGalleryPage.title', { tag: data.name, }), @@ -121,7 +123,7 @@ export default { .slot('infoPageLink', relations.infoPageLink), html.tag('p', {class: 'quick-info'}, - language.$('tagPage.infoLine', { + language.$('artTagGalleryPage.infoLine', { coverArts: language.countArtworks(data.numArtworks, { unit: true, }), @@ -129,13 +131,13 @@ export default { relations.ancestorLinks && html.tag('p', {class: 'quick-info'}, - language.$('tagPage.descendsFrom', { + language.$('artTagGalleryPage.descendsFrom', { tags: language.formatConjunctionList(relations.ancestorLinks), })), relations.descendantLinks && html.tag('p', {clasS: 'quick-info'}, - language.$('tagPage.desendants', { + language.$('artTagGalleryPage.desendants', { tags: language.formatUnitList(relations.descendantLinks), })), @@ -159,22 +161,10 @@ export default { ], navLinkStyle: 'hierarchical', - navLinks: [ - {auto: 'home'}, - - data.enableListings && - { - path: ['localized.listingIndex'], - title: language.$('listingIndex.title'), - }, - - { - html: - language.$('tagPage.nav.tag', { - tag: relations.artTagMainLink, - }), - }, - ], + navLinks: + relations.navLinks + .slot('currentExtra', 'gallery') + .content, }); }, }; |