From 357015de21e7e427f25b31a2622fb9182ec292e1 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 15 Apr 2023 14:16:04 -0300 Subject: content: generateAlbumNavLinks, generatePageLayout nav bar --- src/content/dependencies/generateTrackInfoPage.js | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/content/dependencies/generateTrackInfoPage.js') diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js index 0519b7e8..acf8461b 100644 --- a/src/content/dependencies/generateTrackInfoPage.js +++ b/src/content/dependencies/generateTrackInfoPage.js @@ -1,10 +1,13 @@ export default { contentDependencies: [ 'generateTrackInfoPageContent', + 'generateAlbumNavLinks', 'generateAlbumSidebar', 'generateAlbumStyleRules', 'generateColorStyleRules', 'generatePageLayout', + 'linkAlbum', + 'linkTrack', ], extraDependencies: ['language'], @@ -13,6 +16,10 @@ export default { return { layout: relation('generatePageLayout'), + albumLink: relation('linkAlbum', track.album), + trackLink: relation('linkTrack', track), + albumNavLinks: relation('generateAlbumNavLinks', track.album, track), + content: relation('generateTrackInfoPageContent', track), sidebar: relation('generateAlbumSidebar', track.album, track), albumStyleRules: relation('generateAlbumStyleRules', track.album), @@ -23,6 +30,9 @@ export default { data(track) { return { name: track.name, + + hasTrackNumbers: track.album.hasTrackNumbers, + trackNumber: track.album.tracks.indexOf(track) + 1, }; }, @@ -38,6 +48,33 @@ export default { cover: relations.content.cover, mainContent: relations.content.main.content, + navLinkStyle: 'hierarchical', + navLinks: [ + {auto: 'home'}, + {html: relations.albumLink}, + { + html: + (data.hasTrackNumbers + ? language.$('trackPage.nav.track.withNumber', { + number: data.trackNumber, + track: relations.trackLink + .slot('attributes', {class: 'current'}), + }) + : language.$('trackPage.nav.track', { + track: relations.trackLink + .slot('attributes', {class: 'current'}), + })), + }, + ], + + navContent: '(Chronology links here)', + + navBottomRowContent: + relations.albumNavLinks.slots({ + showTrackNavigation: true, + showExtraLinks: false, + }), + ...relations.sidebar, }); }, -- cgit 1.3.0-6-gf8a5