Newer
Older
"use strict";
const ImageCarousel = require("../../../generic-components/image-carousel");
const { getArticleBody } = require("../../../lib/article-utils");
class TeamMember {
constructor(props) {
this.props = props;
}
render() {
const { title, subtitle, body, images, path } = this.props;
return {
tag: "div",
class: "team-member",
typeof: "Person",
property: "author",
contents: [
{
tag: "div",
class: "team-member-img",
contents: [
{
tag: "img",
alt: `ìmage team member ${title}`,
src: images.map(im => `${path}/images/${im}`)[0],
},
{
tag: "h3",
class: "team-member-title",
contents: title,
},
{
tag: "strong",
class: "team-member-subtitle",
contents: subtitle,
},
{
tag: "p",
class: "team-member-body",
contents: getArticleBody(body),
},
],
};
}
}
class GameArticle {
constructor(props) {
this.props = props;
}
render() {
const {
title,
tags,
body,
subtitle,
images,
path,
team_subarticles,
image_banner,
} = this.props;
typeof: "VideoGame",
additionalType: "Article",
{
tag: "div",
class: "game-banner",
contents: [
{ tag: "img", class: "pixelated", src: `${path}/images/${image_banner}` },
],
},
return { tag: "span", contents: tag, property: "about" };
},
{
tag: "h3",
class: "game-subtitle",
contents: subtitle,
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
contents: getArticleBody(body),
},
new ImageCarousel({ images: images.map(img => `${path}/images/${img}`) }).render(),
{
tag: "div",
class: "game-team",
contents: [
{
tag: "h2",
contents: "L'équipe",
},
{
tag: "div",
class: "team-members",
contents: team_subarticles.map(tsa =>
new TeamMember({ ...tsa }).render()
),
},
],
},
],
};
}
}
module.exports = GameArticle;