Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions app/views/RoomView/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -785,13 +785,22 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
});
};

handleCloseEmoji = (action?: Function, params?: any) => {
if (this.messagebox?.current) {
return this.messagebox?.current.closeEmojiAndAction(action, params);
}
if (action) {
return action(params);
}
};

Comment on lines +788 to +796

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I needed to do this differentiation because there is the possibility that the message box isn't rendered, for example, when the room is read only.

So, in that case, besides the possibility to reactions on long press, the user must be able to click on the emoji + to add new emoji or long press on the reactions.

errorActionsShow = (message: TAnyMessageModel) => {
this.messagebox?.current?.closeEmojiAndAction(this.messageErrorActions?.showMessageErrorActions, message);
this.handleCloseEmoji(this.messageErrorActions?.showMessageErrorActions, message);
};

showActionSheet = (options: any) => {
const { showActionSheet } = this.props;
this.messagebox?.current?.closeEmojiAndAction(showActionSheet, options);
this.handleCloseEmoji(showActionSheet, options);
};

onEditInit = (message: TAnyMessageModel) => {
Expand Down Expand Up @@ -850,7 +859,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
};

onReactionInit = (message: TAnyMessageModel) => {
this.messagebox?.current?.closeEmojiAndAction(() => {
this.handleCloseEmoji(() => {
this.setState({ selectedMessage: message }, this.showReactionPicker);
});
};
Expand All @@ -865,7 +874,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
if (message.tmid && !this.tmid) {
return;
}
this.messagebox?.current?.closeEmojiAndAction(this.messageActions?.showMessageActions, message);
this.handleCloseEmoji(this.messageActions?.showMessageActions, message);
};

showAttachment = (attachment: IAttachment) => {
Expand Down Expand Up @@ -894,7 +903,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
this.setState({ selectedMessage: message });
const { showActionSheet } = this.props;
const { selectedMessage } = this.state;
this.messagebox?.current?.closeEmojiAndAction(showActionSheet, {
this.handleCloseEmoji(showActionSheet, {
children: <ReactionsList reactions={selectedMessage?.reactions} getCustomEmoji={this.getCustomEmoji} />,
snaps: ['50%', '80%'],
enableContentPanningGesture: false
Expand Down Expand Up @@ -1380,7 +1389,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
jumpToMessage={this.jumpToMessageByUrl}
highlighted={highlightedMessage === item.id}
theme={theme}
closeEmojiAndAction={this.messagebox?.current?.closeEmojiAndAction}
closeEmojiAndAction={this.handleCloseEmoji}
/>
);
}
Expand Down