18F/identity-dashboard

View on GitHub
app/views/layouts/_nav.html.erb

Summary

Maintainability
Test Coverage
<div class="usa-overlay"></div>
<div class="usa-header usa-header--basic">
  <div class="usa-nav-container">
    <div class="usa-navbar">
      <div class="usa-logo">
        <a href="/" title="Home" aria-label="Home">
          <%= image_tag 'logo.svg', alt: 'Login.gov', role: 'img', class: 'usa-logo__img' %>
          <em class="usa-logo__text"><%= Rails.application.config.app_name %></em>
        </a>
      </div>

      <button class="usa-menu-btn">Menu</button>
    </div>


    <nav aria-label="Primary navigation" class="usa-nav">
      <div class="usa-nav__inner">
        <button class="usa-nav__close">
          <svg role="img" class="usa-icon usa-icon--size-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
            <use xlink:href="<%= asset_path 'sprite.svg#close' %>"></use>
          </svg>
        </button>
        <ul class="usa-nav__primary usa-accordion">
          <% if user_signed_in? %>
            <li class="usa-nav__primary-item">
              <%= navigation_link_to 'Apps', service_providers_path %>
            </li>
            <li class="usa-nav__primary-item">
              <%= navigation_link_to 'Teams', teams_path %>
            </li>
            <% if current_user.admin? %>
              <li class="usa-nav__primary-item">
                <%= navigation_link_to 'Security Events', security_events_path %>
              </li>
            <% end %>
            <li class="usa-nav__primary-item">
              <button
                type="button"
                class="usa-accordion__button usa-nav__link"
                aria-controls="unique-id-tools-dropdown"
                aria-expanded="false"
                >
                <span>Tools</span>
              </button>
              <ul id="unique-id-tools-dropdown" class="usa-nav__submenu">
                <li class="usa-nav__submenu-item">
                  <%= link_to 'SAML Request Validation', tools_saml_request_path %>
                </li>
              </ul>
            </li>

            <% if current_user.admin? %>
              <li class="usa-nav__primary-item">
                <button
                  type="button"
                  class="usa-accordion__button usa-nav__link"
                  aria-controls="unique-id-admin-dropdown"
                  aria-expanded="false">
                  <span>Admin</span>
                </button>
                <ul id="unique-id-admin-dropdown" class="usa-nav__submenu">
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'All apps', service_providers_all_path %>
                  </li>
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'Users', users_path %>
                  </li>
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'All teams', teams_all_path %>
                  </li>
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'All security events', security_events_all_path %>
                  </li>
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'Banner messages', banners_path %>
                  </li>
                  <li class="usa-nav__submenu-item">
                    <%= link_to 'Deleted apps', service_providers_deleted_path %>
                  </li>
                </ul>
              </li>
            <% end %>
            <li class="usa-nav__primary-item">
              <a class="usa-nav__link" href="<%= destroy_user_session_path %>">
                <span><%= t('links.sign_out') %></span>
              </a>
            </li>
            <% else %>
            <li class="usa-nav__primary-item">
              <%= button_to t('links.sign_in'), '/auth/logindotgov', method: :post, class: 'usa-button' %>
            </li>
          <% end %>
        </ul>
      </div>
    </nav>
  </div>
</div>