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

Add jump to related event context menu item #6775

Merged
merged 6 commits into from
May 19, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
4 changes: 4 additions & 0 deletions res/css/views/context_menus/_MessageContextMenu.scss
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,8 @@ limitations under the License.
.mx_MessageContextMenu_iconUnpin::before {
mask-image: url('$(res)/img/element-icons/room/pin.svg');
}

.mx_MessageContextMenu_jumpToEvent::before {
mask-image: url('$(res)/img/element-icons/link.svg');
}
}
22 changes: 22 additions & 0 deletions src/components/views/context_menus/MessageContextMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,15 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
this.closeMenu();
};

private onJumpToRelatedEventClick = (relatedEventId: string): void => {
dis.dispatch({
action: "view_room",
room_id: this.props.mxEvent.getRoomId(),
event_id: relatedEventId,
highlighted: true,
});
};

private onReportEventClick = (): void => {
Modal.createTrackedDialog('Report Event', '', ReportEventDialog, {
mxEvent: this.props.mxEvent,
Expand Down Expand Up @@ -392,6 +401,18 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
);
}

let jumpToRelatedEventButton: JSX.Element;
const relatedEventId = mxEvent.getWireContent()?.["m.relates_to"]?.event_id;
if (relatedEventId) {
jumpToRelatedEventButton = (
<IconizedContextMenuOption
iconClassName="mx_MessageContextMenu_jumpToEvent"
label={_t("Jump to relation")}
onClick={() => this.onJumpToRelatedEventClick(relatedEventId)}
/>
);
}

let reportEventButton: JSX.Element;
if (mxEvent.getSender() !== me) {
reportEventButton = (
Expand All @@ -411,6 +432,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
{ permalinkButton }
{ reportEventButton }
{ externalURLButton }
{ jumpToRelatedEventButton }
{ unhidePreviewButton }
{ viewSourceButton }
{ resendReactionsButton }
Expand Down
1 change: 1 addition & 0 deletions src/i18n/strings/en_EN.json
Original file line number Diff line number Diff line change
Expand Up @@ -2643,6 +2643,7 @@
"Show preview": "Show preview",
"Source URL": "Source URL",
"Collapse reply thread": "Collapse reply thread",
"Jump to relation": "Jump to relation",
"Report": "Report",
"Add space": "Add space",
"Manage & explore rooms": "Manage & explore rooms",
Expand Down