X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/3893fd72a953beba360fd205ca9fcc2abf623024..98d1da4b9894c3feb5912912aa773c84bae42666:/app/views/layouts/_header.html.erb diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index 262989752..a66715a75 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -1,94 +1,117 @@ -<header class="closed"> +<header class="closed clearfix"> <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' %> + <source srcset="<%= image_path "osm_logo.svg" %>" type="image/svg+xml" /> + <%= 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' %> + <%= t "layouts.project_name.h1" %> </a> </h1> <a href="#" id="menu-icon"></a> <nav class='primary'> <%= content_for :header %> - <ul> - <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> + <div class="btn-group"> + <div id="edit_tab" class="btn-group <%= current_page_class(edit_path) %>"> + <%= link_to t("layouts.edit"), + edit_path, + :class => "btn btn-outline-primary geolink editlink", + :id => "editanchor", + :data => { :editor => preferred_editor } %> + <button class='btn btn-outline-primary dropdown-toggle dropdown-toggle-split' type='button' data-bs-toggle='dropdown'></button> <ul class='dropdown-menu'> <% Editors::RECOMMENDED_EDITORS.each do |editor| %> <li> - <%= link_to t('layouts.edit_with', :editor => t("editor.#{editor}.description")), + <%= link_to t("layouts.edit_with", :editor => t("editor.#{editor}.description")), edit_path(:editor => editor), :data => { :editor => editor }, - :class => "geolink editlink" %> + :class => "geolink editlink dropdown-item" %> </li> <% end %> </ul> + </div> + <%= link_to t("layouts.history"), history_path, :class => "btn btn-outline-primary geolink flex-grow-1 current_page_class(history_path)", :id => "history_tab" %> + <%= link_to t("layouts.export"), export_path, :class => "btn btn-outline-primary geolink current_page_class(export_path)", :id => "export_tab" %> + </div> + </nav> + <nav class='secondary'> + <ul class='mx-1 px-0'> + <% if Settings.status != "database_offline" && can?(:index, Issue) %> + <li class="compact-hide nav-item <%= current_page_class(issues_path) %>"> + <%= link_to issues_path(:status => "open"), :class => "nav-link" do %> + <%= t("layouts.issues") %> + <%= open_issues_count %> + <% end -%> + </li> + <% end %> + <li class="compact-hide nav-item <%= current_page_class(traces_path) %>"> + <%= link_to t("layouts.gps_traces"), traces_path, :class => "nav-link" %> </li> - <li id="history_tab" class="<%= current_page_class(history_path) %>"> - <%= link_to t('layouts.history'), history_path, :class => 'tab geolink' %> + <li class="compact-hide nav-item <%= current_page_class(diary_entries_path) %>"> + <%= link_to t("layouts.user_diaries"), diary_entries_path, :class => "nav-link" %> </li> - <li id="export_tab" class="<%= current_page_class(export_path) %>"> - <%= link_to t('layouts.export'), export_path, :class => 'tab geolink' %> + <li class="compact-hide nav-item <%= current_page_class(communities_path) %>"> + <%= link_to t("layouts.communities"), communities_path, :class => "nav-link" %> </li> - </ul> - </nav> - <nav class='secondary'> - <ul> - <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> + <li class="compact-hide nav-item <%= current_page_class(copyright_path) %>"> + <%= link_to t("layouts.copyright"), copyright_path, :class => "nav-link" %> + </li> + <li class="compact-hide nav-item <%= current_page_class(help_path) %>"> + <%= link_to t("layouts.help"), help_path, :class => "nav-link" %> + </li> + <li class="compact-hide nav-item <%= current_page_class(about_path) %>"> + <%= link_to t("layouts.about"), about_path, :class => "nav-link" %> + </li> + <li id="compact-secondary-nav" class="dropdown nav-item"> + <button class="dropdown-toggle nav-link btn" type="button" data-bs-toggle="dropdown"><%= t "layouts.more" %></button> <ul class="dropdown-menu"> - <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> + <% if Settings.status != "database_offline" && can?(:index, Issue) %> + <li class="<%= current_page_class(issues_path) %>"> + <%= link_to issues_path(:status => "open"), :class => "dropdown-item" do %> + <%= t("layouts.issues") %> + <%= open_issues_count %> + <% end -%> + </li> + <% end %> + <li class="<%= current_page_class(traces_path) %>"><%= link_to t("layouts.gps_traces"), traces_path, :class => "dropdown-item" %></li> + <li class="<%= current_page_class(diary_entries_path) %>"><%= link_to t("layouts.user_diaries"), diary_entries_path, :class => "dropdown-item" %></li> + <li class="<%= current_page_class(communities_path) %>"><%= link_to t("layouts.communities"), communities_path, :class => "dropdown-item" %></li> + <li class="<%= current_page_class(copyright_path) %>"><%= link_to t("layouts.copyright"), copyright_path, :class => "dropdown-item" %></li> + <li class="<%= current_page_class(help_path) %>"><%= link_to t("layouts.help"), help_path, :class => "dropdown-item" %></li> + <li class="<%= current_page_class(about_path) %>"><%= link_to t("layouts.about"), about_path, :class => "dropdown-item" %></li> </ul> </li> </ul> - <% if @user && @user.id %> - <div class='dropdown user-menu logged-in'> - <a class='dropdown-toggle' data-toggle='dropdown' href="#"> - <%= user_thumbnail_tiny(@user, :width => 25, :height => 25) - %><%= render :partial => 'layouts/inbox' - %><span class="user-button"><span class='username'><%= @user.display_name %></span> - <b class="caret"></b></span> - </a> - <ul class='dropdown-menu'> - <li> - <%= link_to inbox_path(:display_name => @user.display_name) do %> - <span class='count-number'><%= number_with_delimiter(@user.new_messages.size) %></span> - <%= t('user.view.my messages') %> - <% end %> - </li> - <li> - <%= link_to t('user.view.my profile'), user_path(:display_name => @user.display_name) %> - </li> - <li> - <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @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> + <% if current_user && current_user.id %> + <div class='d-inline-flex dropdown user-menu logged-in clearfix'> + <button class='dropdown-toggle btn btn-outline-secondary px-2 py-1 flex-grow-1' type='button' data-bs-toggle='dropdown'> + <%= user_thumbnail_tiny(current_user, :width => 25, :height => 25, :class => "user_thumbnail_tiny rounded-1") %> + <%= render :partial => "layouts/inbox" %> + <span class="user-button"> + <span class='username'> + <%= current_user.display_name %> + </span> + </span> + </button> + <div class='dropdown-menu dropdown-menu-end'> + <%= link_to t("users.show.my_dashboard"), dashboard_path, :class => "dropdown-item" %> + <%= link_to inbox_messages_path, :class => "dropdown-item" do %> + <%= t("users.show.my messages") %> + <span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span> + <% end %> + <%= link_to t("users.show.my profile"), user_path(current_user), :class => "dropdown-item" %> + <%= link_to t("users.show.my settings"), edit_account_path, :class => "dropdown-item" %> + <%= link_to t("users.show.my_preferences"), preferences_path, :class => "dropdown-item" %> + <div class="dropdown-divider"></div> + <%= yield :greeting %> + <%= link_to t("layouts.logout"), logout_path(:referer => request.fullpath), :method => "post", :class => "geolink dropdown-item" %> + </div> </div> <% else %> - <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> + <div class="d-inline-flex btn-group login-menu" role=""> + <%= link_to t("layouts.log_in"), login_path(:referer => request.fullpath), :class => "geolink btn btn-outline-secondary" %> + <%= link_to t("layouts.sign_up"), user_new_path, :class => "btn btn-outline-secondary" %> + </div> <% end %> </nav> </header>