@import common.LinkTo @import model.{MediaPage, Video, VideoPlayer} @import views.support.Commercial.{isAdFree, isPaidContent} @import views.support.TrailCssClasses.toneClass @import views.support.{RenderClasses, SeoOptimisedContentImage, StripHtmlTags, Video640} @(page: MediaPage, displayCaption: Boolean)(implicit request: RequestHeader, context: model.ApplicationContext) @defining(page.media, "video") { case (media, mediaType) => @defining(isPaidContent(page), isAdFree(request)) { case (isPaidContent, isAdFree) =>
media.fields.body.nonEmpty, "content--paid-content paid-content" -> isPaidContent, "content--pillar-special-report" -> (toneClass(media) == "tone-special-report"), "vertical-video" -> page.media.tags.isVerticalVideo ), "content", "content--media", s"content--pillar-${media.metadata.pillar.nameOrDefault}", s"content--media--$mediaType", "tonal", "tonal--tone-media", s"tonal--${toneClass(media)}" )" itemscope itemtype="@media.metadata.schemaType" role="main"> @if(!page.metadata.isFront && page.metadata.hasSurveyAd(request)) { @fragments.commercial.survey() } @if(isPaidContent) { @fragments.guBand() } @fragments.headTonal(media, page)
@media match { case video: Video => {
@video.fields.trailText.map { t => } @video.mediaAtom.map { ma => @ma.duration.map { duration => } } @video.elements.mainVideo.map { mv => } @video.sixteenByNineMetaImage.map{ i => } @defining(video.elements.thumbnail.map(_.images) orElse video.mediaAtom.flatMap(_.posterImage)) {bestThumbnail => @bestThumbnail.map { thumbnail => } } @video.mediaAtom.map { mediaAtom => @fragments.atoms.media(mediaAtom, displayCaption = displayCaption, mediaWrapper = None, posterImageOverride = None, isVerticalVideo=page.media.tags.isVerticalVideo) } @video.elements.mainVideo.map { videoElement => @fragments.media.video( VideoPlayer( videoElement, Video640, video.trail.headline, autoPlay = true, showControlsAtStart = true, path = Some(video.metadata.id), overrideIsRatioHd = None ), enhance = true ) }
} case _ => {} }
@if(!page.media.tags.isVerticalVideo) {
@media match { case v: Video => {
@fragments.standfirst(v)
} case _ => {} } @fragments.contentMeta(media, page) @fragments.submeta(media)
} else { @media match { case v: Video => {
@fragments.standfirst(v)
} case _ => {} } @fragments.contentMeta(media, page) @fragments.submeta(media) }
@media match { case v: Video if !isPaidContent => { } case _ => {} }
@if(mediaType != "video" && mediaType != "audio" && isPaidContent) {
}
@fragments.contentFooter(media, page.related, "media", isPaidContent)
} }