CMSgov/dpc-app

View on GitHub
dpc-web/app/views/shared/_navbar.html.erb

Summary

Maintainability
Test Coverage
<%= render partial: 'shared/usa_banner' %>
<a class="ds-c-skip-nav" href="#main">Skip to main content</a>

<nav class="navbar" id="navbar">

  <% if user_signed_in? %>
    <%= link_to "#{image_tag("top-nav-heart.svg", alt: "Heart logo")} Data at the Point of Care".html_safe, root_path, class: "site-logo" %>
  <% else %>
    <%= link_to "#{image_tag("top-nav-heart.svg", alt: "Heart logo")} Data at the Point of Care".html_safe, home_path, class: "site-logo" %>
  <% end %>


  <button id="topnav__show-button" class="ds-c-button ds-c-button--transparent ds-c-button--big topnav__show-button" type="button" aria-controls="topnav-wrap" aria-label="Show menu">
    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
      <use xlink:href="/assets/solid.svg#bars"></use>
    </svg>
  </button>

  <div class="topnav-wrap" id="topnav-wrap">
    <button id="topnav__close-button" class="ds-c-button ds-c-button--transparent ds-c-button--big topnav__close-button" type="button"
aria-controls="topnav-wrap" aria-label="Close menu">
      <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
        <use xlink:href="/assets/solid.svg#times"></use>
      </svg>
    </button>
    <ul class="topnav">
      <li class="topnav__item">
        <%= link_to "Home", home_path, class: "topnav__link"  %>
      </li>

      <li class="topnav__item">
        <%= link_to "Documentation", docs_path, class: "topnav__link"  %>
      </li>

      <li class="topnav__item">
        <li><%= link_to "Frequently Asked Questions", faq_path, class: "topnav__link" %></li>
      </li>

      <% if user_signed_in? %>
        <li class="topnav__item usa-accordion">
          <button class="topnav__link usa-accordion__button" type="button" aria-expanded="false"
                  aria-controls="nav-1" data-test="my-account-menu">My account</button>
          <ul id="nav-1" class="topnav__dropdown usa-accordion__content" hidden>
            <li class="topnav__dropdown__item">
              <%= link_to edit_registration_path(User), class: "topnav__dropdown__link",
                  data: { test: 'dpc-registrations-profile-link' } do %>
                  Profile
                <% end %>
            </li>
            <li class="topnav__dropdown__item">
              <a class="topnav__dropdown__link" href="<%= destroy_user_session_path %>"
                 id="sign-out" data-method="delete">
                 Sign out
              </a>
            </li>
          </ul>
        </li>

      <% else %>
        <li class="topnav__item topnav__item--buttons ds-u-padding-right--1">
          <%= link_to "Log in", new_session_path(User), class: "ds-c-button", data: { test: "login-link" } %>
        </li>
        <li class="topnav__item topnav__item--buttons">
          <%= link_to "Request access", new_user_registration_path, class: "ds-c-button ds-c-button--primary" %>
        </li>
      <% end %>
    </ul>
  </div>
</nav>