Merge pull request #6703 from nordeck/nic/feat/invite-reason-formatting
Allow to use basic html to format invite messagespull/21833/head
						commit
						5692b74b28
					
				|  | @ -16,11 +16,13 @@ limitations under the License. | |||
| 
 | ||||
| import classNames from "classnames"; | ||||
| import React from "react"; | ||||
| import { sanitizedHtmlNode } from "../../../HtmlUtils"; | ||||
| import { _t } from "../../../languageHandler"; | ||||
| import { replaceableComponent } from "../../../utils/replaceableComponent"; | ||||
| 
 | ||||
| interface IProps { | ||||
|     reason: string; | ||||
|     htmlReason?: string; | ||||
| } | ||||
| 
 | ||||
| interface IState { | ||||
|  | @ -51,7 +53,7 @@ export default class InviteReason extends React.PureComponent<IProps, IState> { | |||
|         }); | ||||
| 
 | ||||
|         return <div className={classes}> | ||||
|             <div className="mx_InviteReason_reason">{ this.props.reason }</div> | ||||
|             <div className="mx_InviteReason_reason">{ this.props.htmlReason ? sanitizedHtmlNode(this.props.htmlReason) : this.props.reason }</div> | ||||
|             <div className="mx_InviteReason_view" | ||||
|                 onClick={this.onViewClick} | ||||
|             > | ||||
|  |  | |||
|  | @ -28,6 +28,8 @@ import { UPDATE_EVENT } from "../../../stores/AsyncStore"; | |||
| import { replaceableComponent } from "../../../utils/replaceableComponent"; | ||||
| import InviteReason from "../elements/InviteReason"; | ||||
| 
 | ||||
| const MemberEventHtmlReasonField = "io.element.html_reason"; | ||||
| 
 | ||||
| const MessageCase = Object.freeze({ | ||||
|     NotLoggedIn: "NotLoggedIn", | ||||
|     Joining: "Joining", | ||||
|  | @ -492,9 +494,13 @@ export default class RoomPreviewBar extends React.Component { | |||
|                 } | ||||
| 
 | ||||
|                 const myUserId = MatrixClientPeg.get().getUserId(); | ||||
|                 const reason = this.props.room.currentState.getMember(myUserId).events.member.event.content.reason; | ||||
|                 if (reason) { | ||||
|                     reasonElement = <InviteReason reason={reason} />; | ||||
|                 const memberEventContent = this.props.room.currentState.getMember(myUserId).events.member.getContent(); | ||||
| 
 | ||||
|                 if (memberEventContent.reason) { | ||||
|                     reasonElement = <InviteReason | ||||
|                         reason={memberEventContent.reason} | ||||
|                         htmlReason={memberEventContent[MemberEventHtmlReasonField]} | ||||
|                     />; | ||||
|                 } | ||||
| 
 | ||||
|                 primaryActionHandler = this.props.onJoinClick; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston