Back to Frontend

MainMedia.Scala

article/app/views/fragments/mainMedia.scala.html

latest1.8 KB
Original Source

@import views.MainMediaWidths @import views.support.{Video640, Item1200, OneByOne, FourByThree} @import model.Trail @(article: model.Article)(implicit request: RequestHeader, context: model.ApplicationContext) @import model.{VideoPlayer} @import views.{MainCleaner} @trailPicAsStructuredDataImage(trail: Trail) = { @trail.trailPicture.map { image => @* * Recommendations for image sizes from https://developers.google.com/search/docs/data-types/article * (also following DCR's lead) *@ @List(OneByOne, FourByThree, Item1200).map { size => } } } @if(article.elements.hasMainEmbed || article.elements.elements("main").isEmpty) {

@MainCleaner(article) @trailPicAsStructuredDataImage(article.trail) } else { @if(!article.hasVideoAtTop) { @if(article.elements.hasMainVideo) { @article.elements.mainVideo.map { mainVideo => @article.elements.mainVideo.map { video => @defining( VideoPlayer( video, Video640, article.trail.headline, autoPlay = false, showControlsAtStart = true, overrideIsRatioHd = None, embedPath = article.content.mainVideoCanonicalPath, path = article.content.mainVideoCanonicalPath ) ) { player => @fragments.media.video(player, enhance = true) @*This should ideally be the video publication date (and not the article one) but at the moment this info is not exposed via the article capi endpoint*@ } } @mainVideo.videos.caption.map { caption => [email protected]("triangle", "icon") @Html(caption)_ } } @trailPicAsStructuredDataImage(article.trail) } else { @article.elements.mainPicture.map { picture => @fragments.imageFigure( picture.images, if(article.lightbox.isMainMediaLightboxable) Some(1) else None, article.elements.hasShowcaseMainElement, article.tags.isFeature, article.content.isSplash, MainMediaWidths(article) ) } } } }