diff options
Diffstat (limited to 'src/content/dependencies/generateAlbumSidebarGroupBox.js')
-rw-r--r-- | src/content/dependencies/generateAlbumSidebarGroupBox.js | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/content/dependencies/generateAlbumSidebarGroupBox.js b/src/content/dependencies/generateAlbumSidebarGroupBox.js index 4e46c931..0679e8fc 100644 --- a/src/content/dependencies/generateAlbumSidebarGroupBox.js +++ b/src/content/dependencies/generateAlbumSidebarGroupBox.js @@ -4,28 +4,20 @@ export default { contentDependencies: ['linkAlbum', 'linkExternal', 'linkGroup'], extraDependencies: ['html', 'language', 'transformMultiline'], - contracts: { - relations(contract, [album, group]) { - contract.provide({ - group, album, - - urls: contract.selectProperty(group, 'urls'), - adjacentAlbums: contract.subcontract('adjacentAlbumsInGroup', album, group), - }); - }, - }, - - relations(relation, {group, album, urls, adjacentAlbums}) { + relations(relation, album, group) { const relations = {}; relations.groupLink = relation('linkGroup', group); relations.externalLinks = - urls.map(url => - relation('linkExternal', urls)); + group.urls.map(url => + relation('linkExternal', url)); - const {previousAlbum, nextAlbum} = adjacentAlbums; + const albums = group.albums.filter(album => album.date); + const index = albums.indexOf(album); + const previousAlbum = (index > 0) && albums[index - 1]; + const nextAlbum = (index < albums.length - 1) && albums[index + 1]; if (previousAlbum) { relations.previousAlbumLink = |