]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/layouts/_header.html.erb
Merge remote-tracking branch 'upstream/pull/2182'
[rails.git] / app / views / layouts / _header.html.erb
index 58185bb5ad2f9ac3b09b775db31b5af678b4b0fc..a9919f7d2216949b4ea76e691f22f0e4df5c8ea9 100644 (file)
-<header>
+<header class="closed">
   <h1>
-    <%= image_tag "osm_logo.png", :alt => t('layouts.logo.alt_text'), :class => 'logo' %>
-    <%= t 'layouts.project_name.h1' %>
+    <a href="<%= root_path %>" class="geolink">
+      <picture>
+        <source srcset="<%= image_path "osm_logo.svg" %>" type="image/svg+xml"></source>
+        <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t('layouts.logo.alt_text'), :class => 'logo' %>
+      </picture>
+      <%= t 'layouts.project_name.h1' %>
+    </a>
   </h1>
+  <a href="#" id="menu-icon"></a>
   <nav class='primary'>
+    <%= content_for :header %>
     <ul>
-      <li id="view_tab">
-        <%= link_to t('layouts.view'), root_path, :class => 'tab geolink llz layers' %>
-      </li><li id="history_tab">
-        <%= link_to t('layouts.history'), browse_changesets_path, :class => 'tab geolink llz' %>
-      </li><li id="export_tab">
-        <%= link_to t('layouts.export'), export_path, :class => 'tab geolink llz' %>
-      </li><li id="edit_tab">
-        <%= render :partial => 'layouts/edit_menu',
-                   :locals => { :link_text => t('layouts.edit'), :link_class => 'llz object' }%>
+      <li id="edit_tab" class="dropdown <%= current_page_class(edit_path) %>">
+        <%= link_to t('layouts.edit'), edit_path, :class => "tab geolink editlink",
+                    :id => 'editanchor',
+                    :data => { :editor => preferred_editor }
+        %><a class='dropdown-toggle' data-toggle='dropdown' href='#'><b class="caret"></b></a>
+        <ul class='dropdown-menu'>
+          <% Editors::RECOMMENDED_EDITORS.each do |editor| %>
+            <li>
+              <%= link_to t('layouts.edit_with', :editor => t("editor.#{editor}.description")),
+                          edit_path(:editor => editor),
+                          :data => { :editor => editor },
+                          :class => "geolink editlink" %>
+            </li>
+          <% end %>
+        </ul>
+      </li>
+      <li id="history_tab" class="<%= current_page_class(history_path) %>">
+        <%= link_to t('layouts.history'), history_path, :class => 'tab geolink' %>
+      </li>
+      <li id="export_tab" class="<%= current_page_class(export_path) %>">
+        <%= link_to t('layouts.export'), export_path, :class => 'tab geolink' %>
       </li>
     </ul>
   </nav>
   <nav class='secondary'>
     <ul>
-      <li><%= link_to t('layouts.gps_traces'), traces_path %></li>
-      <li><%= link_to t('layouts.user_diaries'), diary_path %></li>
-      <li><%= link_to t('layouts.help'), help_path %></li>
-      <li><%= link_to t('layouts.about'), about_path %></li>
+      <% if current_user and ( current_user.administrator? or current_user.moderator? ) %>
+        <li class="compact-hide <%= current_page_class(issues_path) %>">
+          <%= link_to issues_path(:status => 'open') do %>
+            <%= t('layouts.issues') %>
+            <%= open_issues_count %>
+          <% end -%>
+        </li>
+      <% end %>
+      <li class="compact-hide <%= current_page_class(traces_path) %>"><%= link_to t('layouts.gps_traces'), traces_path %></li>
+      <li class="compact-hide <%= current_page_class(diary_path) %>"><%= link_to t('layouts.user_diaries'), diary_path %></li>
+      <li class="compact-hide <%= current_page_class(copyright_path) %>"><%= link_to t('layouts.copyright'), copyright_path %></li>
+      <li class="compact-hide <%= current_page_class(help_path) %>"><%= link_to t('layouts.help'), help_path %></li>
+      <li class="compact-hide <%= current_page_class(about_path) %>"><%= link_to t('layouts.about'), about_path %></li>
+      <li id="compact-secondary-nav" class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#"><%= t 'layouts.more' %> <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <% if Settings.status != "database_offline" && can?(:index, Issue) %>
+            <li class="<%= current_page_class(issues_path) %>">
+              <%= link_to issues_path(:status => 'open') do %>
+                <%= open_issues_count %>
+                <%= t('layouts.issues') %>
+              <% end -%>
+            </li>
+          <% end %>
+          <li class="<%= current_page_class(traces_path) %>"><%= link_to t('layouts.gps_traces'), traces_path %></li>
+          <li class="<%= current_page_class(diary_path) %>"><%= link_to t('layouts.user_diaries'), diary_path %></li>
+          <li class="<%= current_page_class(copyright_path) %>"><%= link_to t('layouts.copyright'), copyright_path %></li>
+          <li class="<%= current_page_class(help_path) %>"><%= link_to t('layouts.help'), help_path %></li>
+          <li class="<%= current_page_class(about_path) %>"><%= link_to t('layouts.about'), about_path %></li>
+        </ul>
+      </li>
     </ul>
-    <% if @user %>
-      <%= render :partial => "layouts/user_menu" %>
+    <% if current_user && current_user.id %>
+      <div class='dropdown user-menu logged-in'>
+        <a class='dropdown-toggle' data-toggle='dropdown' href="#">
+          <%= user_thumbnail_tiny(current_user, :width => 25, :height => 25)
+          %><%= render :partial => 'layouts/inbox'
+        %><span class="user-button"><span class='username'><%= current_user.display_name %></span>
+          <b class="caret"></b></span>
+        </a>
+        <ul class='dropdown-menu'>
+          <li>
+            <%= link_to inbox_messages_path do %>
+              <span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
+              <%= t('users.show.my messages') %>
+            <% end %>
+          </li>
+          <li>
+            <%= link_to t('users.show.my profile'), user_path(current_user) %>
+          </li>
+          <li>
+            <%= link_to t('users.show.my settings'), :controller => 'users', :action => 'account', :display_name => current_user.display_name %>
+          </li>
+          <li class="divider"></li>
+          <li>
+            <%= yield :greeting %>
+          </li>
+          <li>
+            <%= link_to t('layouts.logout'), logout_path(:session => session.id, :referer => request.fullpath) %>
+          </li>
+        </ul>
+      </div>
     <% else %>
-      <ul class="secondary-actions">
-        <li><%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath), {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %></li>
-        <li><%= link_to t('layouts.sign_up'), user_new_path, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %></li>
+      <ul class="user-menu clearfix">
+        <li><%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath) %></li>
+        <li><%= link_to t('layouts.sign_up'), user_new_path %></li>
       </ul>
     <% end %>
   </nav>