facia/app/views/fragments/frontBody.scala.html (53 lines of code) (raw):
@import common.Edition
@import common.commercial.ContainerModel
@import views.support.RenderClasses
@import views.support.Commercial.container.isFirstNonThrasherContainer
@import implicits.Requests._
@(faciaPage: model.PressedPage)(implicit request: RequestHeader, context: model.ApplicationContext)
@defining(
(
faciaPage.isSponsored(Edition(request)),
faciaPage.isPaid(Edition(request))
)
) { case (isSponsored, isPaid) =>
@if(faciaPage.collections.nonEmpty) {
<div class="l-side-margins">
<div class="@RenderClasses(Map(
"fc-container--sponsored" -> isSponsored,
"fc-container--paid-content paid-content" -> isPaid
), "facia-page")"
data-link-name="Front | @request.path"
role="main">
<h1 class="u-h">@faciaPage.metadata.title</h1>
@if(isPaid){
@fragments.guBand()
}
@defining(layout.Front.fromPressedPage(faciaPage, Edition(request), adFree = request.isAdFree).containers) { collections =>
@collections.map { containerDefinition =>
@fragments.containers.facia_cards.container(
containerDefinition,
faciaPage.frontProperties,
Some(faciaPage.id),
isPaid,
faciaPage.collections.find {
_.id == containerDefinition.dataId
}.map {
ContainerModel.fromPressedCollection(Edition(request))
},
showFrontBranding = faciaPage.isBranded(Edition(request)) && isFirstNonThrasherContainer(containerDefinition.index, collections)
)
}
@defining(layout.Front.makeLinkedData(faciaPage.metadata.url, collections)) { linkedData =>
<script data-schema="@{linkedData.`@type`}" type="application/ld+json">
@Html(model.meta.LinkedData.toJson(linkedData))
</script>
}
}
@fragments.trendingTopics(faciaPage.allItems, faciaPage.id, faciaPage.allPath)
@if(!isPaid) {
<div class="fc-container fc-container--commercial js-container--commercial">@fragments.commercial.commercialComponent()</div>
}
</div>
</div>
}
}