diff --git a/res/css/_components.scss b/res/css/_components.scss
index 8b86579bf3..4986ca837f 100644
--- a/res/css/_components.scss
+++ b/res/css/_components.scss
@@ -117,7 +117,6 @@
@import "./views/messages/_MTextBody.scss";
@import "./views/messages/_MessageActionBar.scss";
@import "./views/messages/_MessageTimestamp.scss";
-@import "./views/messages/_ReactionDimension.scss";
@import "./views/messages/_ReactionQuickTooltip.scss";
@import "./views/messages/_ReactionTooltipButton.scss";
@import "./views/messages/_ReactionsRow.scss";
diff --git a/res/css/views/messages/_ReactionDimension.scss b/res/css/views/messages/_ReactionDimension.scss
deleted file mode 100644
index 9a891d05cf..0000000000
--- a/res/css/views/messages/_ReactionDimension.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2019 New Vector Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-.mx_ReactionDimension {
- width: 42px;
- display: flex;
- justify-content: space-evenly;
-}
-
-.mx_ReactionDimension_disabled {
- opacity: 0.4;
-}
diff --git a/src/components/views/messages/MessageActionBar.js b/src/components/views/messages/MessageActionBar.js
index 410c0762b3..e7843c1505 100644
--- a/src/components/views/messages/MessageActionBar.js
+++ b/src/components/views/messages/MessageActionBar.js
@@ -146,45 +146,13 @@ export default class MessageActionBar extends React.PureComponent {
/>;
}
- renderAgreeDimension() {
- if (!this.isReactionsEnabled()) {
- return null;
- }
-
- const ReactionDimension = sdk.getComponent('messages.ReactionDimension');
- return ;
- }
-
- renderLikeDimension() {
- if (!this.isReactionsEnabled()) {
- return null;
- }
-
- const ReactionDimension = sdk.getComponent('messages.ReactionDimension');
- return ;
- }
-
render() {
let reactButton;
- let agreeDimensionReactionButtons;
- let likeDimensionReactionButtons;
let replyButton;
let editButton;
if (isContentActionable(this.props.mxEvent)) {
reactButton = this.renderReactButton();
- agreeDimensionReactionButtons = this.renderAgreeDimension();
- likeDimensionReactionButtons = this.renderLikeDimension();
replyButton =
{reactButton}
- {agreeDimensionReactionButtons}
- {likeDimensionReactionButtons}
{replyButton}
{editButton}
{
- this.setState(this.getSelection());
- }
-
- getSelection() {
- const myReactions = this.getMyReactions();
- if (!myReactions) {
- return {
- selectedOption: null,
- selectedReactionEvent: null,
- };
- }
- const { options } = this.props;
- let selectedOption = null;
- let selectedReactionEvent = null;
- for (const option of options) {
- const reactionForOption = myReactions.find(mxEvent => {
- if (mxEvent.isRedacted()) {
- return false;
- }
- return mxEvent.getRelation().key === option;
- });
- if (!reactionForOption) {
- continue;
- }
- if (selectedOption) {
- // If there are multiple selected values (only expected to occur via
- // non-Riot clients), then act as if none are selected.
- return {
- selectedOption: null,
- selectedReactionEvent: null,
- };
- }
- selectedOption = option;
- selectedReactionEvent = reactionForOption;
- }
- return { selectedOption, selectedReactionEvent };
- }
-
- getMyReactions() {
- const reactions = this.props.reactions;
- if (!reactions) {
- return null;
- }
- const userId = MatrixClientPeg.get().getUserId();
- const myReactions = reactions.getAnnotationsBySender()[userId];
- if (!myReactions) {
- return null;
- }
- return [...myReactions.values()];
- }
-
- onOptionClick = (ev) => {
- const { key } = ev.target.dataset;
- this.toggleDimension(key);
- }
-
- toggleDimension(key) {
- const { selectedOption, selectedReactionEvent } = this.state;
- const newSelectedOption = selectedOption !== key ? key : null;
- this.setState({
- selectedOption: newSelectedOption,
- });
- if (selectedReactionEvent) {
- MatrixClientPeg.get().redactEvent(
- this.props.mxEvent.getRoomId(),
- selectedReactionEvent.getId(),
- );
- }
- if (newSelectedOption) {
- MatrixClientPeg.get().sendEvent(this.props.mxEvent.getRoomId(), "m.reaction", {
- "m.relates_to": {
- "rel_type": "m.annotation",
- "event_id": this.props.mxEvent.getId(),
- "key": newSelectedOption,
- },
- });
- }
- }
-
- render() {
- const { selectedOption } = this.state;
- const { options } = this.props;
-
- const items = options.map(option => {
- const disabled = selectedOption && selectedOption !== option;
- const classes = classNames({
- mx_ReactionDimension_disabled: disabled,
- });
- return
- {option}
- ;
- });
-
- return
- {items}
- ;
- }
-}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 02c0658bcb..010ad29da0 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -928,8 +928,6 @@
"Today": "Today",
"Yesterday": "Yesterday",
"Error decrypting audio": "Error decrypting audio",
- "Agree or Disagree": "Agree or Disagree",
- "Like or Dislike": "Like or Dislike",
"Reply": "Reply",
"Edit": "Edit",
"Options": "Options",