diff options
Diffstat (limited to 'src/content/dependencies/generateTrackInfoPage.js')
-rw-r--r-- | src/content/dependencies/generateTrackInfoPage.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js new file mode 100644 index 00000000..f7f14573 --- /dev/null +++ b/src/content/dependencies/generateTrackInfoPage.js @@ -0,0 +1,40 @@ +export default { + contentDependencies: [ + 'generateTrackInfoPageContent', + 'generateAlbumStyleRules', + 'generateColorStyleRules', + 'generatePageLayout', + ], + + extraDependencies: ['language'], + + relations(relation, track) { + return { + layout: relation('generatePageLayout'), + + content: relation('generateTrackInfoPageContent', track), + albumStyleRules: relation('generateAlbumStyleRules', track.album), + colorStyleRules: relation('generateColorStyleRules', track.color), + }; + }, + + data(track) { + return { + name: track.name, + }; + }, + + generate(data, relations, {language}) { + return relations.layout + .slots({ + title: language.$('trackPage.title', {track: data.name}), + styleRules: [ + relations.albumStyleRules, + relations.colorStyleRules, + ], + + cover: relations.content.cover, + mainContent: relations.content.main.content, + }); + }, +} |