« get me outta code hell

generateNewsEntryNavAccent.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateNewsEntryNavAccent.js
blob: 5d168e4182bd60d94251abee2f98d3d53aad5d0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
export default {
  contentDependencies: [
    'generateInterpageDotSwitcher',
    'generateNextLink',
    'generatePreviousLink',
    'linkNewsEntry',
  ],

  relations: (relation, previousEntry, nextEntry) => ({
    switcher:
      relation('generateInterpageDotSwitcher'),

    previousLink:
      relation('generatePreviousLink'),

    nextLink:
      relation('generateNextLink'),

    previousEntryLink:
      (previousEntry
        ? relation('linkNewsEntry', previousEntry)
        : null),

    nextEntryLink:
      (nextEntry
        ? relation('linkNewsEntry', nextEntry)
        : null),
  }),

  generate: (relations) =>
    relations.switcher.slots({
      links: [
        relations.previousLink
          .slot('link', relations.previousEntryLink),

        relations.nextLink
          .slot('link', relations.nextEntryLink),
      ],
    }),
};