lujanfernaud/prevy

View on GitHub
app/views/application/_header.html.erb

Summary

Maintainability
Test Coverage
<header class="<%= 'header-border-bottom' if dark_header? %>">
  <nav class="navbar navbar-expand <%= navbar_style %>
    justify-content-between">
    <div class="container container-semi-fluid">

      <!-- Prevy Logo -->
      <%= link_to root_path, id: "logo",
        data: { behavior: "prevent-validation-error" },
        class: "header-logo" do %>
        <%= inline_svg "svgs/prevy.svg",
          class: "prevy-logo prevy-logo--header #{prevy_logo_style}" %>
      <% end %>

      <ul class="navbar-nav ml-auto">

        <!-- Notifications Button -->
        <li class="nav-item mr-2 mb-md-0 pr-1">
          <%= notifications_button %>
        </li>

        <!-- User Button and Dropdown Menu -->
        <% if user_signed_in? %>

          <li class="nav-item dropdown">

            <!-- User Button -->
            <a href="" class="user-avatar-button dropdown-toggle"
              id="user-button dropdownMenuButton" data-toggle="dropdown"
              aria-haspopup="true" aria-expanded="false" width="40px">
              <%= image_tag gravatar_image_url(current_user.email),
                class: "user-avatar", width: "40px", alt: "" %>
            </a>

            <!-- Dropdown Menu -->
            <div class="dropdown-menu dropdown-menu-right"
              aria-labelledby="dropdownMenuButton">

              <!-- User Name -->
              <p class="dropdown-user-name text-primary font-weight-bold">
                <%= current_user.name %>
              </p>

              <div class="dropdown-divider"></div>

              <!-- Create Group -->
              <%= create_group_menu_link(current_user) %>

              <% if current_user.groups %>
                <div class="dropdown-divider"></div>

                <!-- My Groups -->
                <%= link_to "My groups", user_groups_path(current_user),
                  class: "dropdown-item" %>

                <!-- Membership Requests -->
                <%= membership_requests_link %>
              <% end %>

              <div class="dropdown-divider"></div>

              <!-- Profile -->
              <%= link_to "Profile", current_user,
                class: "dropdown-item" %>

              <!-- Account Settings -->
              <%= link_to "Account settings",
                edit_user_registration_path(current_user),
                class: "dropdown-item" %>

              <div class="dropdown-divider"></div>

              <!-- Log Out -->
              <%= link_to "Log out", destroy_user_session_path,
                method: :delete,
                class: "dropdown-item" %>
            </div>
          </li>

        <!-- Log In and Sign Up Buttons -->
        <% else %>

          <!-- Log In -->
          <li class="nav-item mr-2 mr-md-3 mb-2 mb-md-0">
            <%= link_to "Log in", new_user_session_path,
              class: "btn #{log_in_button_style} btn-navbar-menu p-2",
                data: { behavior: "prevent-validation-error" },
                role: "button" %>
          </li>

          <!-- Sign Up -->
          <li class="nav-item">
            <%= link_to "Sign up", new_user_registration_path,
              class: "btn #{sign_up_button_style} btn-navbar-menu p-2",
                data: { behavior: "prevent-validation-error" },
                role: "button" %>
          </li>

        <% end %>

      </ul>

    </div>
  </nav>

  <%= render "searches/search_bar" if groups_index? || searches_show? %>
</header>