commercial/app/views/contentapi/items.scala.html
@import commercial.controllers.{PaidFor, SponsorType, Supported} @import layout.PaidCard @import common.LinkTo @import fragments.commercial.paidForMeta @import views.html.fragments.commercial.cards.itemCard @import views.html.fragments.commercial.containerWrapper @import views.html.fragments.inlineSvg @import views.support.Commercial.TrackingCodeBuilder.mkCapiCardTrackingCode @import layout.cards.{Half, Third, Standard} @import views.support.Commercial.glabsLink @(cards: Seq[PaidCard], optSection: Option[String], optLogo: Option[String], optCapiTitle: Option[String], optCapiLink: Option[String], optCapiAbout: Option[String], clickMacro: Option[String], omnitureId: String, optCapiPaidContent: Option[String], optSponsorType: Option[SponsorType], optSponsorLabel: Option[String])(implicit request: RequestHeader) @defining(Math.min(cards.size, 4) match { case 3 => Third case 2 => Half case _ => Standard }) { cardType => @containerWrapper(Seq("legacy", "capi", optSponsorType.map(t => t.className).getOrElse(""), optSponsorType.map(t => s"tone-${t.className}").getOrElse("")), badgeInHeader = optSponsorType match { case Some(Supported) => true case _ => false }, optBadge = Some(badge), optKicker = optSponsorType match { case Some(PaidFor) => Some(paidForMeta()) case _ => None }, optStamp = optSponsorType match { case Some(PaidFor) => Some(stamp) case _ => None }){ @optCapiLink.map { linkUrl => @optCapiTitle }.getOrElse { @optCapiTitle } }{
@cards.take(2).map { card => @itemCard( card, omnitureId = mkCapiCardTrackingCode("multiple", optSection, optCapiTitle, omnitureId, card), cardType = cardType, optAdvertClassNames = optSponsorType.map(t => Seq(t.className)), useCardBranding = false) } @cards.slice(2, 4).map { card => @itemCard( card, omnitureId = mkCapiCardTrackingCode("multiple", optSection, optCapiTitle, omnitureId, card), cardType = cardType, optAdvertClassNames = optSponsorType.map(t => Seq(t.className)), optClassNames = Some(Seq("hide-until-mobile-landscape")), useCardBranding = false) } } } @stamp = { @inlineSvg("glabs-logo", "logo") Guardian Labs } @badge = { @optSponsorLabel @for(logoUrl <- optLogo) {} @for(sponsorType <- optSponsorType if sponsorType != PaidFor; aboutLinkUrl <- optCapiAbout) { About this content } }