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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  | 
export default {
  sprawl: ({groupCategoryData, wikiInfo}) => ({
    groupCategoryData,
    enableGroupUI: wikiInfo.enableGroupUI,
    enableListings: wikiInfo.enableListings,
  }),
  relations: (relation, _sprawl, group) => ({
    mainLink:
      relation('linkGroup', group),
    accent:
      relation('generateGroupNavAccent', group),
  }),
  data: (sprawl, _group) => ({
    enableGroupUI: sprawl.enableGroupUI,
    enableListings: sprawl.enableListings,
  }),
  slots: {
    showExtraLinks: {type: 'boolean', default: false},
    currentExtra: {
      validate: v => v.is('gallery'),
    },
  },
  generate: (data, relations, slots, {language}) =>
    (data.enableGroupUI
      ? [
          {auto: 'home'},
          data.enableListings &&
            {
              path: ['localized.listingIndex'],
              title: language.$('listingIndex.title'),
            },
          {
            html:
              language.$('groupPage.nav.group', {
                group: relations.mainLink,
              }),
            accent:
              relations.accent
                .slot('currentExtra', slots.currentExtra),
          },
        ].filter(Boolean)
      : [
          {auto: 'home'},
          {auto: 'current'},
        ]),
};
  |