1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-31 11:37:14 +00:00

Improve reaction button style to better highlight existing reactions (#42630):

* Hide count when zero
* Make non-zero count bold
* Remove underline on hover and active

Patch by Mizuki ISHIKAWA (user:ishikawa999).


git-svn-id: https://svn.redmine.org/redmine/trunk@23778 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2025-05-16 02:57:04 +00:00
parent 319724fed4
commit 48f09a5d87
4 changed files with 29 additions and 5 deletions

View File

@ -2116,9 +2116,13 @@ img.filecontent.image {background-image: url(/transparent.png);}
.reaction-button.reacted:hover .icon-svg {
fill: #c61a1a;
}
.reaction-button:hover, .reaction-button:active {
text-decoration: none;
}
.reaction-button .icon-label {
margin-left: 3px;
margin-bottom: -1px;
font-weight: bold;
}
.reaction-button.readonly {
cursor: default;

View File

@ -52,7 +52,7 @@ module ReactionsHelper
def reaction_button_reacted(object, reaction, count, tooltip)
reaction_button_wrapper object do
link_to(
sprite_icon('thumb-up-filled', count),
sprite_icon('thumb-up-filled', count.nonzero?),
reaction_path(reaction, object_type: object.class.name, object_id: object),
remote: true, method: :delete,
class: ['icon', 'reaction-button', 'reacted'],
@ -64,7 +64,7 @@ module ReactionsHelper
def reaction_button_not_reacted(object, count, tooltip)
reaction_button_wrapper object do
link_to(
sprite_icon('thumb-up', count),
sprite_icon('thumb-up', count.nonzero?),
reactions_path(object_type: object.class.name, object_id: object),
remote: true, method: :post,
class: 'icon reaction-button',
@ -76,7 +76,7 @@ module ReactionsHelper
def reaction_button_readonly(object, count, tooltip)
reaction_button_wrapper object do
tag.span(class: 'icon reaction-button readonly', title: tooltip) do
sprite_icon('thumb-up', count)
sprite_icon('thumb-up', count.nonzero?)
end
end
end

View File

@ -106,6 +106,26 @@ class ReactionsHelperTest < ActionView::TestCase
assert_select_in result, 'a.reaction-button[title=?]', expected_tooltip
end
test 'reaction_button should be label less when no reactions' do
issue = issues(:issues_002)
result = with_locale('en') do
reaction_button(issue)
end
assert_select_in result, 'a.reaction-button' do
assert_select 'span.icon-label', false
end
# readonly
User.current = nil
result = with_locale('en') do
reaction_button(issue)
end
assert_select_in result, 'span.reaction-button.readonly' do
assert_select 'span.icon-label', false
end
end
test 'reaction_button should not count and display non-visible users' do
issue2 = issues(:issues_002)
@ -130,7 +150,7 @@ class ReactionsHelperTest < ActionView::TestCase
assert_select_in result, 'a.reaction-button[title]', false
assert_select_in result, 'a.reaction-button' do
assert_select 'span.icon-label', '0'
assert_select 'span.icon-label', false
end
end

View File

@ -126,7 +126,7 @@ class ReactionsSystemTest < ApplicationSystemTestCase
# Remove the reaction
within(reaction_button) { find('a.reacted').click }
within(reaction_button) { assert_selector('a.reaction-button:not(.reacted)') }
assert_equal "0", reaction_button.text
assert_equal "", reaction_button.text
assert_equal 0, expected_subject.reactions.count
end
end