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
|
import {empty} from '#sugar';
export default {
contentDependencies: ['generateContentContentHeading'],
extraDependencies: ['language'],
query: (thing) => ({
entries:
(thing.isTrack
? [...thing.commentary, ...thing.commentaryFromMainRelease]
: thing.commentary),
}),
relations: (relation, _query, thing) => ({
contentContentHeading:
relation('generateContentContentHeading', thing),
}),
data: (query, _thing) => ({
hasWikiEditorCommentary:
query.entries.some(entry => entry.isWikiEditorCommentary),
onlyWikiEditorCommentary:
!empty(query.entries) &&
query.entries.every(entry => entry.isWikiEditorCommentary),
hasAnyCommentary:
!empty(query.entries),
}),
generate: (data, relations, {language}) =>
relations.contentContentHeading.slots({
// It's #artist-commentary for legacy reasons... Sorry...
attributes: {id: 'artist-commentary'},
string:
language.encapsulate('misc.artistCommentary', capsule =>
(data.onlyWikiEditorCommentary
? language.encapsulate(capsule, 'onlyWikiCommentary')
: data.hasWikiEditorCommentary
? language.encapsulate(capsule, 'withWikiCommentary')
: data.hasAnyCommentary
? capsule
: null)),
}),
};
|