diff --git a/src/components/views/dialogs/ShareDialog.js b/src/components/views/dialogs/ShareDialog.js index 12efc8b919..873fcc4dee 100644 --- a/src/components/views/dialogs/ShareDialog.js +++ b/src/components/views/dialogs/ShareDialog.js @@ -67,10 +67,11 @@ export default class ShareDialog extends React.Component { super(props); this.onCopyClick = this.onCopyClick.bind(this); - this.onLinkRecentCheckboxClick = this.onLinkRecentCheckboxClick.bind(this); + this.onLinkSpecificEventCheckboxClick = this.onLinkSpecificEventCheckboxClick.bind(this); this.state = { - linkRecentTicked: false, + // MatrixEvent defaults to share linkSpecificEvent + linkSpecificEvent: this.props.target instanceof MatrixEvent, }; } @@ -116,9 +117,9 @@ export default class ShareDialog extends React.Component { e.target.onmouseleave = close; } - onLinkRecentCheckboxClick() { + onLinkSpecificEventCheckboxClick() { this.setState({ - linkRecentTicked: !this.state.linkRecentTicked, + linkSpecificEvent: !this.state.linkSpecificEvent, }); } @@ -135,16 +136,16 @@ export default class ShareDialog extends React.Component { if (events.length > 0) { checkbox =
+ onClick={this.onLinkSpecificEventCheckboxClick} />
; } - if (this.state.linkRecentTicked) { + if (this.state.linkSpecificEvent) { matrixToUrl = makeEventPermalink(this.props.target.roomId, events[events.length - 1].getId()); } else { matrixToUrl = makeRoomPermalink(this.props.target.roomId); @@ -157,7 +158,21 @@ export default class ShareDialog extends React.Component { matrixToUrl = makeGroupPermalink(this.props.target.groupId); } else if (this.props.target instanceof MatrixEvent) { title = _t('Share Room Message'); - matrixToUrl = makeEventPermalink(this.props.target.roomId, this.props.target.eventId); + checkbox =
+ + +
; + + if (this.state.linkSpecificEvent) { + matrixToUrl = makeEventPermalink(this.props.target.roomId, this.props.target.eventId); + } else { + matrixToUrl = makeRoomPermalink(this.props.target.roomId); + } } const encodedUrl = encodeURIComponent(matrixToUrl); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index bb5ad5405b..3802c73431 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -863,6 +863,7 @@ "Share User": "Share User", "Share Community": "Share Community", "Share Room Message": "Share Room Message", + "Link to selected message": "Link to selected message", "COPY": "COPY", "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.", "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.",