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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
export default {
contentDependencies: [
'generateSocialEmbedDescription',
],
extraDependencies: [
'absoluteTo',
'language',
'to',
'urls',
],
data(album, {
generateSocialEmbedDescription,
}) {
const data = {};
data.descriptionData = generateSocialEmbedDescription.data(album);
data.hasHeading = !empty(album.groups);
if (data.hasHeading) {
const firstGroup = album.groups[0];
data.headingGroupName = firstGroup.directory;
data.headingGroupDirectory = firstGroup.directory;
}
data.albumName = album.name;
data.albumColor = album.color;
return data;
},
generate(data, {
generateSocialEmbedDescription,
absoluteTo,
language,
to,
urls,
}) {
const socialEmbed = {};
if (data.hasHeading) {
socialEmbed.heading =
language.$('albumPage.socialEmbed.heading', {
group: data.headingGroupName,
});
socialEmbed.headingLink =
absoluteTo('localized.album', data.headingGroupDirectory);
} else {
socialEmbed.heading = '';
socialEmbed.headingLink = null;
}
socialEmbed.title =
language.$('albumPage.socialEmbed.title', {
album: data.albumName,
});
socialEmbed.description = generateSocialEmbedDescription(data.descriptionData);
socialEmbed.image =
'/' + getAlbumCover(album, {to: urls.from('shared.root').to});
socialEmbed.color = data.albumColor;
return socialEmbed;
},
};
|