From 112a840bdf69bfba5aae893e92b0b20c4a4884fd Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 2 Jul 2025 17:43:34 -0300 Subject: data, content: singles --- src/content/dependencies/generateTrackInfoPage.js | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'src/content/dependencies/generateTrackInfoPage.js') diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js index 6c16ce27..1a5f84be 100644 --- a/src/content/dependencies/generateTrackInfoPage.js +++ b/src/content/dependencies/generateTrackInfoPage.js @@ -48,6 +48,9 @@ export default { navLinks: relation('generateTrackNavLinks', track), + albumNavLink: + relation('linkAlbum', track.album), + albumNavAccent: relation('generateAlbumNavAccent', track.album, track), @@ -125,6 +128,10 @@ export default { color: track.color, + + singleTrackSingle: + track.album.style === 'single' && + track.album.tracks.length === 1, }), generate: (data, relations, {html, language}) => @@ -376,17 +383,28 @@ export default { ], navLinkStyle: 'hierarchical', - navLinks: html.resolve(relations.navLinks), + navLinks: + (data.singleTrackSingle + ? [ + {auto: 'home'}, + {html: relations.albumNavLink}, + ] + : html.resolve(relations.navLinks)), navBottomRowContent: - relations.albumNavAccent.slots({ - showTrackNavigation: true, - showExtraLinks: false, - }), + (data.singleTrackSingle + ? relations.albumNavAccent.slots({ + showTrackNavigation: false, + showExtraLinks: true, + }) + : relations.albumNavAccent.slots({ + showTrackNavigation: true, + showExtraLinks: false, + })), secondaryNav: relations.secondaryNav - .slot('mode', 'track'), + .slot('mode', data.singleTrackSingle ? 'album' : 'track'), leftSidebar: relations.sidebar, -- cgit 1.3.0-6-gf8a5