diff --git a/src/components/views/context_menus/MessageContextMenu.js b/src/components/views/context_menus/MessageContextMenu.js index b376fd5b2c..3e55a6be9e 100644 --- a/src/components/views/context_menus/MessageContextMenu.js +++ b/src/components/views/context_menus/MessageContextMenu.js @@ -26,7 +26,6 @@ import { _t } from '../../../languageHandler'; import Modal from '../../../Modal'; import Resend from '../../../Resend'; import SettingsStore from '../../../settings/SettingsStore'; -import {makeEventPermalink} from '../../../matrix-to'; import { isUrlPermitted } from '../../../HtmlUtils'; module.exports = React.createClass({ @@ -197,6 +196,7 @@ module.exports = React.createClass({ const ShareDialog = sdk.getComponent("dialogs.ShareDialog"); Modal.createTrackedDialog('share room message dialog', '', ShareDialog, { target: this.props.mxEvent, + permalinkCreator: this.props.permalinkCreator, }); this.closeMenu(); }, @@ -305,10 +305,17 @@ module.exports = React.createClass({ } } + let permalink; + if (this.props.permalinkCreator) { + permalink = this.props.permalinkCreator.forEvent( + this.props.mxEvent.getRoomId(), + this.props.mxEvent.getId(), + ); + } // XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID) const permalinkButton = (
; if (this.state.linkSpecificEvent) { - matrixToUrl = makeEventPermalink(this.props.target.getRoomId(), this.props.target.getId()); + matrixToUrl = this.props.permalinkCreator.forEvent(this.props.target.getId()); } else { - matrixToUrl = makeRoomPermalink(this.props.target.getRoomId()); + matrixToUrl = this.props.permalinkCreator.forRoom(); } } diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index c543db5262..17d272fa36 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -328,6 +328,7 @@ module.exports = withMatrixClient(React.createClass({ mxEvent: this.props.mxEvent, left: x, top: y, + permalinkCreator: this.props.permalinkCreator, eventTileOps: tile && tile.getEventTileOps ? tile.getEventTileOps() : undefined, collapseReplyThread: replyThread && replyThread.canCollapse() ? replyThread.collapse : undefined, e2eInfoCallback: e2eInfoCallback,