common/app/views/fragments/contentMeta.scala.html (77 lines of code) (raw):

@(item: model.ContentType, page: model.Page, showExtras: Boolean = true)(implicit request: RequestHeader) @import model._ @import views.support.Commercial.isPaidContent @import _root_.model.ContentDesignType.RichContentDesignType @import views.support.RenderClasses @byline() = { @item match { case v: Video => { @fragments.meta.byline(v.bylineWithSource, v.tags) } case c => { @fragments.meta.byline(c.trail.byline, c.tags) } } } @iconModifier() = @{ if (item.content.isGallery) List("social-icon-media") else Nil } @metaBody() = { @if(item.content.showCircularBylinePicAtSide && !item.content.isImmersive) { @fragments.meta.bylineImage(item.tags) } @if(!(item.content.isGallery || item.content.isImmersive)) { <div class="meta__contact-wrap"> @if(!item.content.hasTonalHeaderByline || item.metadata.designType.nameOrDefault == "analysis") { @if(item.metadata.designType.nameOrDefault != "interview" || item.tags.isVideo){ @byline() } } @item.content.contributorBio.map { bio => <p class="meta__bio" data-link-name="byline" data-component="meta-byline">@bio</p> } @if(item.content.tags.contributors.length == 1) { @if(item.content.hasTonalHeaderByline && (item.tags.contributors.headOption.exists(_.properties.twitterHandle.nonEmpty) || item.tags.contributors.headOption.exists(_.properties.emailAddress.nonEmpty))) { <p class="meta__contact-header">Contact author</p> } @fragments.meta.contactAuthor(item.tags) } @if(!(item.trail.shouldHidePublicationDate || item.content.isGallery)) { @fragments.meta.dateline(item.trail.webPublicationDate, item.fields.lastModified, item.content.hasBeenModified, item.fields.firstPublicationDate, item.tags.isLiveBlog, item.fields.isLive) } </div> } @if(item.content.isImmersive) { @if(!(item.trail.shouldHidePublicationDate || item.content.isGallery)) { @fragments.meta.dateline(item.trail.webPublicationDate, item.fields.lastModified, item.content.hasBeenModified, item.fields.firstPublicationDate, item.tags.isLiveBlog, item.fields.isLive) } } @if(showExtras) { <div class="meta__extras"> <div class="meta__social" data-component="share"> @fragments.social(item.sharelinks.pageShares, "top", iconModifier = iconModifier()) </div> <div class="meta__numbers"> <div class="u-h meta__number js-sharecount"> </div> <div class="u-h meta__number" data-discussion-id="@item.content.discussionId" data-commentcount-format="content" data-discussion-closed="@{ !item.trail.isCommentable }"> </div> </div> </div> } } <div class="@RenderClasses(Map( "content__meta-container--no-byline" -> item.trail.byline.isEmpty, "content__meta-container--liveblog" -> item.tags.isLiveBlog, "content__meta-container--showcase" -> (item.elements.hasShowcaseMainElement && !item.content.isImmersive), "content__meta-container--tonal-header" -> (item.content.hasTonalHeaderByline && item.metadata.designType.nameOrDefault != "analysis"), "content__meta-container--twitter" -> (item.tags.contributors.length == 1 && item.tags.contributors.headOption.exists(_.properties.twitterHandle.nonEmpty)), "content__meta-container--email" -> (item.tags.contributors.length == 1 && item.tags.contributors.headOption.exists(_.properties.emailAddress.nonEmpty)), ), "content__meta-container", "js-content-meta", "u-cf", item.content.contributorBio.map("content__meta-container--" ++ _).getOrElse("")) "> @if( item.tags.isVideo || item.tags.isAudio || (item.tags.isArticle && (item.content.isImmersive || !isPaidContent(page))) || item.tags.isGallery ) { @fragments.commercial.badge(item, page) } @metaBody() </div>