in apps-rendering/src/newsletter.ts [199:234]
function insertNewsletterIntoItem(item: Item): Item {
if (item.promotedNewsletter.kind === OptionKind.None) {
return item;
}
const newsletterSignUp = buildBodyElement(item.promotedNewsletter.value);
switch (item.design) {
case ArticleDesign.Standard:
case ArticleDesign.Gallery:
case ArticleDesign.Audio:
case ArticleDesign.Video:
case ArticleDesign.Review:
case ArticleDesign.Analysis:
case ArticleDesign.Comment:
case ArticleDesign.Feature:
case ArticleDesign.Recipe:
case ArticleDesign.MatchReport:
case ArticleDesign.Interview:
case ArticleDesign.Editorial:
case ArticleDesign.Obituary: {
return insertNewsletterIntoBody(item.body, newsletterSignUp).either(
(errorString) => {
logger.info(`${errorString}: ${item.webUrl}`);
return item;
},
(body) => ({
...item,
body,
}),
);
}
default:
return item;
}
}