commit: 6bf6d35637abc691cf85b1c96a54c74af8b8bc2e
parent: 9c03fd9caef575792f08fd4e5c396d8d72bad09f
Author: STJrInuyasha <MattWCSTRFAN@gmail.com>
Date: Thu, 6 Jul 2017 12:30:37 -0700
Parse links in status content on update as well as mount (#4042)
* Update links in status content on update as well as mount
Fixes occasional bugs with mentions and hashtags not being set to open in a new column like they should, and instead opening in a new page
* use classList instead of raw className
Diffstat:
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js
@@ -25,12 +25,17 @@ export default class StatusContent extends React.PureComponent {
hidden: true,
};
- componentDidMount () {
+ _updateStatusLinks () {
const node = this.node;
const links = node.querySelectorAll('a');
for (var i = 0; i < links.length; ++i) {
- let link = links[i];
+ let link = links[i];
+ if (link.classList.contains('status-link')) {
+ continue;
+ }
+ link.classList.add('status-link');
+
let mention = this.props.status.get('mentions').find(item => link.href === item.get('url'));
if (mention) {
@@ -46,10 +51,15 @@ export default class StatusContent extends React.PureComponent {
}
}
+ componentDidMount () {
+ this._updateStatusLinks();
+ }
+
componentDidUpdate () {
if (this.props.onHeightUpdate) {
this.props.onHeightUpdate();
}
+ this._updateStatusLinks();
}
onMentionClick = (mention, e) => {