common/app/views/fragments/header.scala.html (124 lines of code) (raw):
@()(implicit page: model.Page, request: RequestHeader)
@import common.{LinkTo, Edition}
@import views.support.RenderClasses
@import navigation.NavMenu
@import navigation.UrlHelpers.{getJobUrl, Header, getReaderRevenueUrl}
@import navigation.ReaderRevenueSite.{Support, SupportSubscribe, SupportContribute, SupporterCTA}
@import conf.switches.Switches.{IdentityProfileNavigationSwitch, SearchSwitch}
@defining(NavMenu(page, Edition(request))) { navMenu: NavMenu =>
<header class="@RenderClasses(Map(
"new-header--slim" -> page.metadata.hasSlimHeader
), s"pillar-scheme--${navMenu.currentPillar.map(_.title).getOrElse("")}", "new-header")"
role="banner">
<nav class="new-header__inner gs-container"
data-component="nav2"
role="navigation"
aria-label="Guardian sections">
@defining(Edition(request).id.toLowerCase()) { editionId =>
<a href="@LinkTo {/}"
class="new-header__logo"
data-link-name="nav2 : logo">
<span class="u-h">The Guardian - Back to home</span>
@{
if(page.metadata.hasSlimHeader) {
fragments.inlineSvg("the-guardian-roundel", "logo")
} else {
fragments.inlineSvg("the-guardian-logo", "logo")
}
}
</a>
}
<div class="new-header__cta-bar" ></div>
<div class="new-header__top-bar hide-until-mobile">
@defining(Edition(request).id.toLowerCase()) { editionId =>
@if(!page.metadata.hasSlimHeader) {
<div class="top-bar__commercial-items js-supporter-cta">
<span class="top-bar__item__seperator hide-until-desktop"></span>
<a class="top-bar__item hide-until-desktop"
data-link-name="nav2 : supporter-cta"
data-edition="@{editionId}"
href="@getReaderRevenueUrl(SupporterCTA, Header)">
Print subscriptions
</a>
</div>
@if(editionId != "au" || editionId == "uk") {
<div class="top-bar__commercial-items">
<span class="top-bar__item__seperator hide-until-desktop"></span>
<a class="top-bar__item hide-until-desktop"
data-link-name="nav2 : job-cta"
data-edition="@{editionId}"
href="@getJobUrl(editionId)">
Search jobs
</a>
</div>
}
@if(IdentityProfileNavigationSwitch.isSwitchedOn) {
@fragments.nav.userAccountDropdown()
}
@if(SearchSwitch.isSwitchedOn) {
<a class="top-bar__item popup__toggle hide-until-desktop js-search-toggle"
href="https://www.google.co.uk/advanced_search?q=site:www.theguardian.com"
data-is-ajax
data-link-name="nav2 : search"
data-toggle="js-search-new"
>
@fragments.inlineSvg("search-36", "icon", List("top-bar__item__icon"))
Search
</a>
}
}
}
</div>
@if(SearchSwitch.isSwitchedOn) {
<div class="popup popup--default popup--search js-search-popup js-search-new is-off"
aria-label="search"
role="dialog"
tabindex="-1"
id="search-popup"
>
<div class="js-search-placeholder"></div>
</div>
}
@if(!page.metadata.hasSlimHeader) {
@fragments.nav.editionPickerDropdown()
}
<ul class="pillars">
@navMenu.pillars.map { link =>
<li class="pillars__item">
<a class="@RenderClasses(Map(
"pillar-link--current-section" -> ((link.title == navMenu.currentPillar.map(_.title).getOrElse("")) && !page.metadata.hasSlimHeader)
), "pillar-link", s"pillar-link--${link.title}")"
href="@LinkTo(link.url)"
data-link-name="nav2 : primary : @link.title">
@link.title
</a>
</li>
}
</ul>
<input type="checkbox"
id="main-menu-toggle"
class="veggie-burger-fallback js-enhance-checkbox u-h"
data-link-name="nav2 : veggie-burger : show"
aria-controls="main-menu"
tabindex="-1"
>
<label for="main-menu-toggle"
class="js-change-link new-header__menu-toggle"
data-link-name="nav2 : veggie-burger : show"
tabindex="0">
<span class="veggie-burger hide-from-desktop">
<span class="veggie-burger__icon"></span>
</span>
<span class="pillar-link pillar-link--dropdown pillar-link--sections hide-until-desktop">
<span class="u-h">Show</span>
More
<i class="pillar-link--dropdown__icon"></i>
</span>
</label>
@fragments.nav.headerMenu(navMenu)
</nav>
@if(!page.metadata.hasSlimHeader) {
@fragments.nav.subNav(navMenu, page.metadata.designType)
}
</header>
}