From e17b000483a3576e6d8f235c35de292b9a9f3155 Mon Sep 17 00:00:00 2001 From: Katsuya HIDAKA Date: Tue, 26 Aug 2025 01:06:40 +0900 Subject: Improve consistency and visibility of reaction buttons with reactions --- app/assets/stylesheets/application.css | 3 +++ app/helpers/reactions_helper.rb | 6 +++--- test/helpers/reactions_helper_test.rb | 6 ++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 0032efa13..e3c4b8158 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -2330,6 +2330,9 @@ span[role="img"].avatar.s50 { margin-bottom: -1px; font-weight: bold; } +.reaction-button.has-reactions .icon-svg { + stroke-width: 2.0; +} .reaction-button.readonly { cursor: default; } diff --git a/app/helpers/reactions_helper.rb b/app/helpers/reactions_helper.rb index e02e1c9f9..461d9dad1 100644 --- a/app/helpers/reactions_helper.rb +++ b/app/helpers/reactions_helper.rb @@ -55,7 +55,7 @@ module ReactionsHelper sprite_icon('thumb-up-filled', count.nonzero?, style: :filled), reaction_path(reaction, object_type: object.class.name, object_id: object), remote: true, method: :delete, - class: ['icon', 'reaction-button', 'reacted'], + class: ['icon', 'reaction-button', 'reacted', { 'has-reactions': count.nonzero? }], title: tooltip ) end @@ -67,7 +67,7 @@ module ReactionsHelper sprite_icon('thumb-up', count.nonzero?), reactions_path(object_type: object.class.name, object_id: object), remote: true, method: :post, - class: 'icon reaction-button', + class: ['icon', 'reaction-button', { 'has-reactions': count.nonzero? }], title: tooltip ) end @@ -75,7 +75,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 + tag.span(class: ['icon', 'reaction-button', 'readonly', { 'has-reactions': count.nonzero? }], title: tooltip) do sprite_icon('thumb-up', count.nonzero?) end end diff --git a/test/helpers/reactions_helper_test.rb b/test/helpers/reactions_helper_test.rb index 061576364..1b57631d0 100644 --- a/test/helpers/reactions_helper_test.rb +++ b/test/helpers/reactions_helper_test.rb @@ -202,6 +202,12 @@ class ReactionsHelperTest < ActionView::TestCase end end + test 'reaction_button with reactions should have .has-reactions class' do + assert_select_in reaction_button(issues(:issues_001)), 'a.reaction-button.has-reactions' + # issues_002 has no reactions + assert_select_in reaction_button(issues(:issues_002)), 'a.reaction-button:not(.has-reactions)' + end + private def build_reactions(count) -- 2.51.0