FIX: shows a message as hovered when hovering actions (#21026)

When hovering the chat message actions we are technically not hovering the message anymore, which was removing the background and is slightly unexpected. This commit ensures we keep this background until closing the message actions.
This commit is contained in:
Joffrey JAFFEUX 2023-04-07 20:29:33 +02:00 committed by GitHub
parent 6d99e6408f
commit 720cf24659
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 20 deletions

View File

@ -64,6 +64,7 @@
(if this.hideUserInfo "user-info-hidden")
(if @message.error "errored")
(if @message.bookmark "chat-message-bookmarked")
(if (eq @message.id this.chat.activeMessage.model.id) "is-active")
}}
>
{{#unless this.hideReplyToInfo}}

View File

@ -207,6 +207,7 @@
}
.no-touch & {
&.is-active,
&:hover,
&:active {
background: var(--primary-very-low);
@ -219,6 +220,7 @@
}
&.chat-message-bookmarked {
&.is-active,
&:hover {
background: var(--highlight-medium);
}

View File

@ -90,16 +90,6 @@
.chat-live-pane {
border-radius: unset;
}
.chat-live-pane,
.chat-messages-scroll,
.chat-message:not(.highlighted):not(.deleted):not(.chat-message-bookmarked) {
background-color: transparent;
}
.chat-message:not(.highlighted):not(.deleted):not(.chat-message-bookmarked):hover {
background-color: var(--primary-very-low);
}
}
@media screen and (max-width: var(--max-chat-width)) {
@ -126,18 +116,8 @@
border-radius: 0;
}
.chat-live-pane,
.chat-messages-scroll,
.chat-message:not(.highlighted):not(.deleted):not(.chat-message-bookmarked) {
background: transparent;
}
.chat-message {
padding-left: 1em;
&:hover {
background-color: var(--primary-very-low);
}
}
.chat-messages-container .chat-message-deleted {

View File

@ -0,0 +1,26 @@
# frozen_string_literal: true
RSpec.describe "Chat message", type: :system, js: true do
fab!(:current_user) { Fabricate(:user) }
fab!(:channel_1) { Fabricate(:chat_channel) }
fab!(:message_1) { Fabricate(:chat_message, chat_channel: channel_1) }
let(:chat) { PageObjects::Pages::Chat.new }
let(:channel) { PageObjects::Pages::ChatChannel.new }
before { chat_system_bootstrap }
context "when hovering a message" do
before do
channel_1.add(current_user)
sign_in(current_user)
end
it "adds an active class" do
chat.visit_channel(channel_1)
channel.hover_message(message_1)
expect(page).to have_css("[data-id='#{message_1.id}'] .chat-message.is-active")
end
end
end