diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-04-15 14:16:04 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-04-15 14:16:04 -0300 |
commit | 357015de21e7e427f25b31a2622fb9182ec292e1 (patch) | |
tree | babdd9b39abafa8a5d3add55436150757942c002 /src/content/dependencies/generateTrackInfoPage.js | |
parent | 6b35077eb1542eaf9a89534d6920c35fee86cc04 (diff) |
content: generateAlbumNavLinks, generatePageLayout nav bar
Diffstat (limited to 'src/content/dependencies/generateTrackInfoPage.js')
-rw-r--r-- | src/content/dependencies/generateTrackInfoPage.js | 37 |
1 files changed, 37 insertions, 0 deletions
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, }); }, |