Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Force style rules of buttons on MessageActionBar used with maskButton selector #8780

Merged
merged 8 commits into from
Jun 8, 2022
126 changes: 65 additions & 61 deletions res/css/views/messages/_MessageActionBar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -75,81 +75,85 @@ limitations under the License.
cursor: not-allowed;
opacity: .75;
}
}

.mx_MessageActionBar_maskButton::after {
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
mask-size: 18px;
mask-repeat: no-repeat;
mask-position: center;
background-color: $secondary-content;
}
&::after {
weeman1337 marked this conversation as resolved.
Show resolved Hide resolved
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
mask-size: 18px;
mask-repeat: no-repeat;
mask-position: center;
background-color: $secondary-content;
}

.mx_MessageActionBar_maskButton:hover::after {
background-color: $primary-content;
}
&:hover::after {
background-color: $primary-content;
}

.mx_MessageActionBar_reactButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/emoji.svg');
}
&.mx_MessageActionBar_reactButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/emoji.svg');
}

.mx_MessageActionBar_replyButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/reply.svg');
}
&.mx_MessageActionBar_replyButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/reply.svg');
}

.mx_MessageActionBar_threadButton::after {
mask-image: url('$(res)/img/element-icons/message/thread.svg');
}
&.mx_MessageActionBar_threadButton {
&::after {
mask-image: url('$(res)/img/element-icons/message/thread.svg');
}

.mx_MessageActionBar_threadButton .mx_Indicator {
background: $links;
animation-iteration-count: infinite;
}
.mx_Indicator {
background: $links;
animation-iteration-count: infinite;
}
}

.mx_MessageActionBar_editButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/edit.svg');
}
&.mx_MessageActionBar_editButton::after {
mask-image: url('$(res)/img/element-icons/room/message-bar/edit.svg');
}

.mx_MessageActionBar_optionsButton::after {
mask-image: url('$(res)/img/element-icons/context-menu.svg');
}
&.mx_MessageActionBar_optionsButton::after {
mask-image: url('$(res)/img/element-icons/context-menu.svg');
}

.mx_MessageActionBar_resendButton::after {
mask-image: url('$(res)/img/element-icons/retry.svg');
}
&.mx_MessageActionBar_resendButton::after {
mask-image: url('$(res)/img/element-icons/retry.svg');
}

.mx_MessageActionBar_cancelButton::after {
mask-image: url('$(res)/img/element-icons/trashcan.svg');
}
&.mx_MessageActionBar_cancelButton::after {
mask-image: url('$(res)/img/element-icons/trashcan.svg');
}

.mx_MessageActionBar_downloadButton::after {
mask-size: 14px;
mask-image: url('$(res)/img/download.svg');
}
&.mx_MessageActionBar_downloadButton {
&::after {
mask-size: 14px;
mask-image: url('$(res)/img/download.svg');

.mx_MessageActionBar_expandMessageButton::after {
mask-size: 12px;
mask-image: url('$(res)/img/element-icons/expand-message.svg');
}
&.mx_MessageActionBar_downloadSpinnerButton::after {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed this nesting was wrong.

This means .mx_MessageActionBar_downloadButton::after.mx_MessageActionBar_downloadSpinnerButton::after, which in fact should be .mx_MessageActionBar_downloadButton.mx_MessageActionBar_downloadSpinnerButton::after.

https://github.com/matrix-org/matrix-react-sdk/pull/8780/files#diff-9e8827a9eadb4ec87e33b2387b4a9078ec3c38b91ec4696080d4ae6b6e9597e3L153

I'm pushing a fix as follow-up soon.

background-color: transparent; // hide the download icon mask
}
}
}

.mx_MessageActionBar_collapseMessageButton::after {
mask-size: 12px;
mask-image: url('$(res)/img/element-icons/collapse-message.svg');
}
&.mx_MessageActionBar_expandMessageButton::after {
mask-size: 12px;
mask-image: url('$(res)/img/element-icons/expand-message.svg');
}

.mx_MessageActionBar_viewInRoom::after {
mask-image: url('$(res)/img/element-icons/view-in-room.svg');
}
&.mx_MessageActionBar_collapseMessageButton::after {
mask-size: 12px;
mask-image: url('$(res)/img/element-icons/collapse-message.svg');
}

.mx_MessageActionBar_copyLinkToThread::after {
mask-image: url('$(res)/img/element-icons/link.svg');
}
&.mx_MessageActionBar_viewInRoom::after {
mask-image: url('$(res)/img/element-icons/view-in-room.svg');
}

.mx_MessageActionBar_downloadButton.mx_MessageActionBar_downloadSpinnerButton::after {
background-color: transparent; // hide the download icon mask
&.mx_MessageActionBar_copyLinkToThread::after {
mask-image: url('$(res)/img/element-icons/link.svg');
}
}