From ed422988035ce2e67464c544267adce4df4f5f35 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 15 Apr 2023 19:50:02 -0300 Subject: content: generateChronologyLinks, generatePreviousNextLinks --- src/content/dependencies/generateAlbumNavLinks.js | 59 +++++++++++------------ 1 file changed, 29 insertions(+), 30 deletions(-) (limited to 'src/content/dependencies/generateAlbumNavLinks.js') diff --git a/src/content/dependencies/generateAlbumNavLinks.js b/src/content/dependencies/generateAlbumNavLinks.js index d9645319..4ce94e1c 100644 --- a/src/content/dependencies/generateAlbumNavLinks.js +++ b/src/content/dependencies/generateAlbumNavLinks.js @@ -2,6 +2,7 @@ import {empty} from '../../util/sugar.js'; export default { contentDependencies: [ + 'generatePreviousNextLinks', 'linkTrack', 'linkAlbumCommentary', 'linkAlbumGallery', @@ -12,6 +13,12 @@ export default { relations(relation, album, track) { const relations = {}; + relations.previousNextLinks = + relation('generatePreviousNextLinks'); + + relations.previousTrackLink = null; + relations.nextTrackLink = null; + if (track) { const index = album.tracks.indexOf(track); @@ -60,36 +67,28 @@ export default { }, content(slots) { - const extraLinks = - (slots.showExtraLinks - ? [ - relations.albumGalleryLink.slots({ - attributes: {class: slots.currentExtra === 'gallery' && 'current'}, - content: language.$('albumPage.nav.gallery'), - }), - - relations.albumCommentaryLink.slots({ - attributes: {class: slots.currentExtra === 'commentary' && 'current'}, - content: language.$('albumPage.nav.commentary'), - }), - ] - : []); - - const previousNextLinks = - (slots.showTrackNavigation - ? [ - relations.previousTrackLink?.slots({ - tooltip: true, - attributes: {id: 'previous-button'}, - content: language.$('misc.nav.previous'), - }), - relations.nextTrackLink?.slots({ - tooltip: true, - attributes: {id: 'next-button'}, - content: language.$('misc.nav.next'), - }), - ] - : []); + const {content: extraLinks = []} = + slots.showExtraLinks && + {content: [ + relations.albumGalleryLink.slots({ + attributes: {class: slots.currentExtra === 'gallery' && 'current'}, + content: language.$('albumPage.nav.gallery'), + }), + + relations.albumCommentaryLink.slots({ + attributes: {class: slots.currentExtra === 'commentary' && 'current'}, + content: language.$('albumPage.nav.commentary'), + }), + ]}; + + const {content: previousNextLinks = []} = + slots.showTrackNavigation && + data.isTrackPage && + data.hasMultipleTracks && + relations.previousNextLinks.slots({ + previousLink: relations.previousTrackLink, + nextLink: relations.nextTrackLink, + }); const randomLink = slots.showTrackNavigation && -- cgit 1.3.0-6-gf8a5