diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-11-24 15:22:49 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-11-24 15:22:49 -0400 |
commit | 1443cf743ee1f5967022d661b92caba6633de7aa (patch) | |
tree | 125e1db3aba3316fd798edb08dd1b6d47bfe6905 /src/content/dependencies/linkTrackDynamically.js | |
parent | 5931dde25d47695444419e9576dcdcc7d21d4a3f (diff) | |
parent | ce46282c4d6cadb3a90243b7e0aa452e2dfa90d3 (diff) |
Merge branch 'album-commentary-tweaks' into preview
Diffstat (limited to 'src/content/dependencies/linkTrackDynamically.js')
-rw-r--r-- | src/content/dependencies/linkTrackDynamically.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/content/dependencies/linkTrackDynamically.js b/src/content/dependencies/linkTrackDynamically.js new file mode 100644 index 00000000..242cd4cb --- /dev/null +++ b/src/content/dependencies/linkTrackDynamically.js @@ -0,0 +1,34 @@ +export default { + contentDependencies: ['linkTrack'], + extraDependencies: ['pagePath'], + + relations: (relation, track) => ({ + infoLink: relation('linkTrack', track), + }), + + data: (track) => ({ + trackDirectory: + track.directory, + + albumDirectory: + track.album.directory, + + trackHasCommentary: + !!track.commentary, + }), + + generate(data, relations, {pagePath}) { + if ( + pagePath[0] === 'albumCommentary' && + pagePath[1] === data.albumDirectory && + data.trackHasCommentary + ) { + relations.infoLink.setSlots({ + anchor: true, + hash: data.trackDirectory, + }); + } + + return relations.infoLink; + }, +}; |