From a857cf18f4809ab5fbff4956b42430e5eeddb54e Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Thu, 22 Dec 2016 17:19:19 +0000 Subject: PLT-4860 Make ProfilePopover into it's own component and use it consistently everywhere (#4701) * PLT-4860 - Use same User Popover everywhere. Refactor out the ProfilePopover into it's own component and give it the union of all the features of the previous two implementations, and make sure all the necessary data for it to work consistently everywhere is provided through the props wherever it is used. * Don't show popover for webhook posts in main view. * No popover on RHS when it's a webhook post. * Fix style. * Don't send in user when it's a system message. * Fix some duplication of code. --- webapp/components/rhs_root_post.jsx | 56 +++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 9 deletions(-) (limited to 'webapp/components/rhs_root_post.jsx') diff --git a/webapp/components/rhs_root_post.jsx b/webapp/components/rhs_root_post.jsx index 4a15127a0..95f5fc1ac 100644 --- a/webapp/components/rhs_root_post.jsx +++ b/webapp/components/rhs_root_post.jsx @@ -47,6 +47,10 @@ export default class RhsRootPost extends React.Component { return true; } + if (nextProps.isBusy !== this.props.isBusy) { + return true; + } + if (nextProps.compactDisplay !== this.props.compactDisplay) { return true; } @@ -248,7 +252,13 @@ export default class RhsRootPost extends React.Component { ); } - let userProfile = ; + let userProfile = ( + + ); let botIndicator; if (post.props && post.props.from_webhook) { @@ -260,6 +270,13 @@ export default class RhsRootPost extends React.Component { disablePopover={true} /> ); + } else { + userProfile = ( + + ); } botIndicator =
  • {'BOT'}
  • ; @@ -286,9 +303,20 @@ export default class RhsRootPost extends React.Component { width='36' height='36' user={this.props.user} + isBusy={this.props.isBusy} /> ); + if (post.props && post.props.from_webhook) { + profilePic = ( + + ); + } + if (PostUtils.isSystemMessage(post)) { profilePic = ( - ); + if (post.props && post.props.from_webhook) { + profilePic = ( + + ); + } else { + profilePic = ( + + ); + } } const profilePicContainer = (
    {profilePic}
    ); @@ -424,5 +461,6 @@ RhsRootPost.propTypes = { useMilitaryTime: React.PropTypes.bool.isRequired, isFlagged: React.PropTypes.bool, status: React.PropTypes.string, - previewCollapsed: React.PropTypes.string + previewCollapsed: React.PropTypes.string, + isBusy: React.PropTypes.bool }; -- cgit v1.2.3-1-g7c22