@import model.ArticlePage @(model: ArticlePage)(implicit request: RequestHeader, context: _root_.model.ApplicationContext) @import views.html.fragments.langAttributes @import common.LinkTo @import views.BodyProcessor @import views.support.Commercial.{isPaidContent, articleAsideOptionalSizes, shouldShowAds} @import views.support.RenderClasses @import views.support.TrailCssClasses.toneClass @schemaType(page: ArticlePage) = @{page.article.metadata.schemaType} @bodyType(page: ArticlePage) = @{ if (page.article.tags.isReview) "reviewBody" else "articleBody" } @defining(model.article) { article => @defining(isPaidContent(model)) { isPaidContent =>
(article.tags.isFeature && article.elements.hasShowcaseMainElement), "paid-content" -> isPaidContent ), "content", "content--article", "tonal", s"tonal--${toneClass(article)}", s"content--pillar-${article.metadata.pillar.nameOrDefault}", s"section-${article.trail.sectionName.trim.toLowerCase.replaceAll("""[\s-]+""", "-")}" )" itemscope itemtype="@schemaType(model)" role="main">
@fragments.logo()
@if(isPaidContent) { @fragments.guBand() } @fragments.mainMedia(article) @fragments.headTonal(article, model, isPaidContent)
@fragments.contentMeta(article, model) @if(article.tags.isNews && !article.elements.hasMainEmbed && (article.elements.elements("main") && article.elements.elements("main").isEmpty)) {
}
@BodyProcessor(article)
@fragments.submeta(article)
@fragments.contentFooter(article, model.related, isPaidContent = isPaidContent)
} }