diff --git a/src/components/views/elements/ReplyThread.js b/src/components/views/elements/ReplyThread.js index e40ef4170e..249cdcfcb0 100644 --- a/src/components/views/elements/ReplyThread.js +++ b/src/components/views/elements/ReplyThread.js @@ -59,28 +59,6 @@ export default class ReplyThread extends React.Component { this.collapse = this.collapse.bind(this); } - componentWillMount() { - this.unmounted = false; - this.room = this.context.matrixClient.getRoom(this.props.parentEv.getRoomId()); - this.initialize(); - } - - componentDidUpdate() { - this.props.onWidgetLoad(); - } - - componentWillUnmount() { - this.unmounted = true; - } - - canCollapse() { - return this.state.events.length > 1; - } - - collapse() { - this.initialize(); - } - async initialize() { const {parentEv} = this.props; // at time of making this component we checked that props.parentEv has a parentEventId @@ -134,17 +112,6 @@ export default class ReplyThread extends React.Component { return room.findEventById(eventId); } - onQuoteClick() { - const events = [this.state.loadedEv, ...this.state.events]; - - this.setState({ - loadedEv: null, - events, - }, this.loadNextEvent); - - dis.dispatch({action: 'focus_composer'}); - } - static getParentEventId(ev) { if (!ev || ev.isRedacted()) return; @@ -189,7 +156,7 @@ export default class ReplyThread extends React.Component { case 'm.text': case 'm.notice': { html = `
In reply to ${mxid}` - + `
${html || body}
`; + + `
${html || body}`; const lines = body.trim().split('\n'); if (lines.length > 0) { lines[0] = `<${mxid}> ${lines[0]}`; @@ -199,7 +166,7 @@ export default class ReplyThread extends React.Component { } case 'm.image': html = `
In reply to ${mxid}` - + `
sent an image.
`; + + `
sent an image.`; body = `> <${mxid}> sent an image.\n\n`; break; case 'm.video': @@ -252,6 +219,39 @@ export default class ReplyThread extends React.Component { return ; } + componentWillMount() { + this.unmounted = false; + this.room = this.context.matrixClient.getRoom(this.props.parentEv.getRoomId()); + this.initialize(); + } + + componentDidUpdate() { + this.props.onWidgetLoad(); + } + + componentWillUnmount() { + this.unmounted = true; + } + + canCollapse() { + return this.state.events.length > 1; + } + + collapse() { + this.initialize(); + } + + onQuoteClick() { + const events = [this.state.loadedEv, ...this.state.events]; + + this.setState({ + loadedEv: null, + events, + }, this.loadNextEvent); + + dis.dispatch({action: 'focus_composer'}); + } + render() { let header = null;