Make link within replies clickable

pull/21833/head
Germain Souquet 2021-07-27 17:57:46 +02:00
parent 3e7aee3a87
commit 30ce7b5eab
1 changed files with 15 additions and 9 deletions

View File

@ -67,15 +67,21 @@ export default class ReplyTile extends React.PureComponent<IProps> {
}; };
private onClick = (e: React.MouseEvent): void => { private onClick = (e: React.MouseEvent): void => {
// This allows the permalink to be opened in a new tab/window or copied as const clickTarget = e.target as HTMLElement;
// matrix.to, but also for it to enable routing within Riot when clicked. // Following a link within a reply should not dispatch the `view_room` action
e.preventDefault(); // so that the browser can direct the user to the correct location
dis.dispatch({ // The exceptionp being the link wrapping the reply
action: 'view_room', if (clickTarget.tagName.toLowerCase() !== "a" || clickTarget.closest("a") === null) {
event_id: this.props.mxEvent.getId(), // This allows the permalink to be opened in a new tab/window or copied as
highlighted: true, // matrix.to, but also for it to enable routing within Riot when clicked.
room_id: this.props.mxEvent.getRoomId(), e.preventDefault();
}); dis.dispatch({
action: 'view_room',
event_id: this.props.mxEvent.getId(),
highlighted: true,
room_id: this.props.mxEvent.getRoomId(),
});
}
}; };
render() { render() {