From: Marius Balteanu Date: Thu, 5 Sep 2024 20:06:04 +0000 (+0000) Subject: Replaces icons from projects listing and project overview tab with SVG icons (#23980). X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=31c4eddfbfda4d100e695196236aa7c9b8ea54a5;p=redmine.git Replaces icons from projects listing and project overview tab with SVG icons (#23980). git-svn-id: https://svn.redmine.org/redmine/trunk@23017 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 389cca72c..77a29a55f 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -778,12 +778,15 @@ ul.projects div.description ul li {list-style-type:initial;} #projects-index ul.projects div.description { padding-top: 0.5em; } -#projects-index a.icon-user, a.icon-bookmarked-project {padding-left:0; padding-right:20px; background-position:98% 50%;} #projects-index a.icon-user.icon-bookmarked-project { - background-image: url(/tag_blue.png), url(/user.png); - background-position: bottom 0px right 0px, bottom 0px right 20px; - padding-right: 40px; - padding-top: 4px; + background-image: none; + padding-left: 0; +} +#projects-index a.project ~ svg, table.projects tr.project td.name svg { + margin-left: 4px; +} +#projects-index a.project ~ svg { + fill: #169; } #notified-projects>ul, #tracker_project_ids>ul, #custom_field_project_ids>ul {max-height:250px; overflow-y:auto;} @@ -1621,7 +1624,7 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { } /***** SVG Icons *****/ -.icon, .icon-only { +a.icon, a.icon-only { display: inline-flex; } @@ -1695,11 +1698,11 @@ span.icon-label { .open .icon-folder:not(:has(svg)) { background-image: url(/folder_open.png); } .icon-package { background-image: url(/package.png); } .icon-user:not(:has(svg)) { background-image: url(/user.png); } -.icon-project, .icon-projects { background-image: url(/projects.png); } +.icon-project, .icon-projects:not(:has(svg)) { background-image: url(/projects.png); } .icon-help:not(:has(svg)) { background-image: url(/help.png); } .icon-attachment:not(:has(svg)) { background-image: url(/attachment.png); } .icon-history:not(:has(svg)) { background-image: url(/history.png); } -.icon-time-entry, .icon-time { background-image: url(/time.png); } +.icon-time-entry, .icon-time:not(:has(svg)) { background-image: url(/time.png); } .icon-time-add:not(:has(svg)) { background-image: url(/time_add.png); } .icon-stats:not(:has(svg)) { background-image: url(/stats.png); } .icon-warning { background-image: url(/warning.png); } @@ -1710,11 +1713,11 @@ span.icon-label { .icon-lock:not(:has(svg)), .icon-locked:not(:has(svg)) { background-image: url(/locked.png); } .icon-unlock:not(:has(svg)) { background-image: url(/unlock.png); } .icon-checked:not(:has(svg)) { background-image: url(/toggle_check.png); } -.icon-report { background-image: url(/report.png); } +.icon-report { background-image: url(/report.png); } .icon-comment:not(:has(svg)), .icon-comments { background-image: url(/comment.png); } .icon-summary:not(:has(svg)) { background-image: url(/lightning.png); } .icon-server-authentication { background-image: url(/server_key.png); } -.icon-issue { background-image: url(/ticket.png); } +.icon-issue:not(:has(svg)) { background-image: url(/ticket.png); } .icon-zoom-in:not(:has(svg)) { background-image: url(/zoom_in.png); } .icon-zoom-out:not(:has(svg)) { background-image: url(/zoom_out.png); } .icon-magnifier { background-image: url(/magnifier.png); } @@ -1730,7 +1733,7 @@ span.icon-label { .icon-close:not(:has(svg)) { background-image: url(/close.png); } .icon-close:hover:not(:has(svg)) { background-image: url(/close_hl.png); } .icon-settings:not(:has(svg)) { background-image: url(/changeset.png); } -.icon-group, .icon-groupnonmember, .icon-groupanonymous { background-image: url(/group.png); } +.icon-group:not(:has(svg)),.icon-groupnonmember, .icon-groupanonymous { background-image: url(/group.png); } .icon-roles { background-image: url(/database_key.png); } .icon-issue-edit { background-image: url(/ticket_edit.png); } .icon-workflows { background-image: url(/ticket_go.png); } @@ -1744,7 +1747,6 @@ span.icon-label { .icon-reply { background-image: url(/comments.png); } .icon-wiki-page { background-image: url(/wiki_edit.png); } .icon-document { background-image: url(/document.png); } -.icon-project { background-image: url(/projects.png); } .icon-add-bullet { background-image: url(/bullet_add.png); } .icon-shared { background-image: url(/link.png); } .icon-actions:not(:has(svg)) { background-image: url(/3_bullets.png); } diff --git a/app/helpers/icons_helper.rb b/app/helpers/icons_helper.rb index 26a605fad..57d30400f 100644 --- a/app/helpers/icons_helper.rb +++ b/app/helpers/icons_helper.rb @@ -22,7 +22,9 @@ module IconsHelper DEFAULT_SPRITE = "icons" def icon_with_label(icon_name, label_text, icon_only: false) - sprite_icon(icon_name) + content_tag(:span, label_text, class: "icon-label") + label_classes = ["icon-label"] + label_classes << "hidden" if icon_only + sprite_icon(icon_name) + content_tag(:span, label_text, class: label_classes.join(' ')) end def icon_for_file(entry, name) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index bb05a3ef1..070b0231a 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -78,7 +78,10 @@ module ProjectsHelper classes = project.css_classes.split classes += %w(icon icon-user my-project) if User.current.member_of?(project) classes += %w(icon icon-bookmarked-project) if bookmarked_project_ids.include?(project.id) + s = link_to_project(project, {}, :class => classes.uniq.join(' ')) + s << icon_with_label('user', l(:label_my_projects), icon_only: true) if User.current.member_of?(project) + s << icon_with_label('bookmarked', l(:label_my_bookmarks), icon_only: true) if bookmarked_project_ids.include?(project.id) if project.description.present? s << content_tag('div', textilizable(project.short_description, :project => project), :class => 'wiki description') end diff --git a/app/helpers/projects_queries_helper.rb b/app/helpers/projects_queries_helper.rb index 66e47d551..7c978f350 100644 --- a/app/helpers/projects_queries_helper.rb +++ b/app/helpers/projects_queries_helper.rb @@ -24,8 +24,8 @@ module ProjectsQueriesHelper case column.name when :name link_to_project(item) + - (tag.span(class: 'icon icon-user my-project', title: l(:label_my_projects)) if User.current.member_of?(item)) + - (tag.span(class: 'icon icon-bookmarked-project', title: l(:label_my_bookmarks)) if User.current.bookmarked_project_ids.include?(item.id)) + (tag.span(icon_with_label('user', l(:label_my_projects), icon_only: true), class: 'icon-only icon-user my-project') if User.current.member_of?(item)) + + (tag.span(icon_with_label('bookmarked', l(:label_my_bookmarks), icon_only: true), class: 'icon-only icon-bookmarked-project') if User.current.bookmarked_project_ids.include?(item.id)) when :short_description if item.description? # Sets :inline_attachments to false to avoid performance issues diff --git a/app/views/projects/_members_box.html.erb b/app/views/projects/_members_box.html.erb index b5bb46e3a..658170968 100644 --- a/app/views/projects/_members_box.html.erb +++ b/app/views/projects/_members_box.html.erb @@ -1,6 +1,6 @@ <% if @principals_by_role.any? %>
-

<%=l(:label_member_plural)%>

+

<%= icon_with_label('group', l(:label_member_plural)) %>

<% @principals_by_role.keys.sort.each do |role| %>

<%= role %>: <%= @principals_by_role[role].sort.collect{|p| link_to_principal(p, :class => p.is_a?(Group) ? 'icon icon-group' : nil)}.join(", ").html_safe %>

<% end %> diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index ed2f904ee..d54f36f0d 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -24,7 +24,7 @@

<%=l(:label_overview)%>

<% unless @project.active? %> -

<%= l(:text_project_closed) %>

+

<%= icon_with_label('lock', l(:text_project_closed)) %>

<% end %>
@@ -48,8 +48,8 @@ <% if User.current.allowed_to?(:view_issues, @project) %>

- <%=l(:label_issue_tracking)%>  - <%= link_to l(:label_details), + <%= icon_with_label('issue', l(:label_issue_tracking)) %>  + <%= link_to icon_with_label('zoom-in', l(:label_details)), project_issues_report_details_path(@project, :detail => 'tracker'), :class => 'icon-only icon-zoom-in', :title => l(:label_details) %> @@ -99,7 +99,7 @@ <% if User.current.allowed_to?(:view_time_entries, @project) %>
-

<%= l(:label_time_tracking) %>

+

<%= icon_with_label('time', l(:label_time_tracking)) %>

    <% if @total_estimated_hours.present? %>
  • <%= l(:field_estimated_hours) %>: <%= l_hours(@total_estimated_hours) %> @@ -133,7 +133,7 @@ <% if @subprojects.any? %>
    -

    <%=l(:label_subproject_plural)%>

    +

    <%= icon_with_label('projects', l(:label_subproject_plural)) %>

      <% @subprojects.each do |project| %>
    • <%= link_to(project.name, project_path(project), :class => project.css_classes).html_safe %>