diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-08-19 10:06:16 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-19 10:06:16 -0400 |
commit | dad764088e4696edc180443e610287a20aaaba04 (patch) | |
tree | e6eece623f17c36243ea179467b85b4c3cbef5c5 /webapp/components/profile_picture.jsx | |
parent | 8c2ea22892079cb7f72be96ae6ddff165cda6e43 (diff) | |
download | chat-dad764088e4696edc180443e610287a20aaaba04.tar.gz chat-dad764088e4696edc180443e610287a20aaaba04.tar.bz2 chat-dad764088e4696edc180443e610287a20aaaba04.zip |
PLT-1831 Add statuses to centre channel profile pictures (#3826)
* Created profile picture componenet and added statuses to pictures in center channel
* PLT-3899 - Updating UI for status indicators (#3823)
* PLT-3899 - Updating UI for status indicators
* Updating position of timestamps for compact layout
Diffstat (limited to 'webapp/components/profile_picture.jsx')
-rw-r--r-- | webapp/components/profile_picture.jsx | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/webapp/components/profile_picture.jsx b/webapp/components/profile_picture.jsx new file mode 100644 index 000000000..5443b74d6 --- /dev/null +++ b/webapp/components/profile_picture.jsx @@ -0,0 +1,55 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; + +export default class ProfilePicture extends React.Component { + shouldComponentUpdate(nextProps) { + if (nextProps.src !== this.props.src) { + return true; + } + + if (nextProps.status !== this.props.status) { + return true; + } + + if (nextProps.width !== this.props.width) { + return true; + } + + if (nextProps.height !== this.props.height) { + return true; + } + + return false; + } + + render() { + let statusClass = ''; + if (this.props.status) { + statusClass = 'status-' + this.props.status; + } + + return ( + <span className={`status-wrapper ${statusClass}`}> + <img + className='more-modal__image' + width={this.props.width} + height={this.props.width} + src={this.props.src} + /> + </span> + ); + } +} + +ProfilePicture.defaultProps = { + width: '36', + height: '36' +}; +ProfilePicture.propTypes = { + src: React.PropTypes.string.isRequired, + status: React.PropTypes.string, + width: React.PropTypes.string, + height: React.PropTypes.string +}; |