diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-05-18 09:28:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-18 09:28:18 -0400 |
commit | 2bbedd9def2a782f370fb5280994ea0ecbf8a7c7 (patch) | |
tree | c97936580a81c561aa9884d1c414c54bd49d401a /webapp/components/status_icon.jsx | |
parent | 63e599c43b66f0dd95f7f07c783c40fdaf89e3fb (diff) | |
download | chat-2bbedd9def2a782f370fb5280994ea0ecbf8a7c7.tar.gz chat-2bbedd9def2a782f370fb5280994ea0ecbf8a7c7.tar.bz2 chat-2bbedd9def2a782f370fb5280994ea0ecbf8a7c7.zip |
Updating client dependencies. Switching to yarn. (#6433)
* Updating client dependancies. Switching to using yarn.
* Updating React
* Moving pure components to using function syntax (performance gains with newer react version)
* Updating client dependancies.
* Ignore .yarninstall
* Enabling pre-lockfile because it's the entire point of using yarn.
* Removing old webpack config
* Moving to new prop-types
* Fixing ESLint Errors
* Updating jest snapshots.
* Cleaning up package.json
Diffstat (limited to 'webapp/components/status_icon.jsx')
-rw-r--r-- | webapp/components/status_icon.jsx | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/webapp/components/status_icon.jsx b/webapp/components/status_icon.jsx index 07416e6fc..2a891d665 100644 --- a/webapp/components/status_icon.jsx +++ b/webapp/components/status_icon.jsx @@ -3,42 +3,41 @@ import Constants from 'utils/constants.jsx'; +import PropTypes from 'prop-types'; + import React from 'react'; -export default class StatusIcon extends React.Component { - render() { - const status = this.props.status; - const type = this.props.type; +export default function StatusIcon(props) { + const status = props.status; + const type = props.type; - if (!status) { - return null; - } + if (!status) { + return null; + } - let statusIcon = ''; - if (type === 'avatar') { - if (status === 'online') { - statusIcon = Constants.ONLINE_AVATAR_SVG; - } else if (status === 'away') { - statusIcon = Constants.AWAY_AVATAR_SVG; - } else { - statusIcon = Constants.OFFLINE_AVATAR_SVG; - } - } else if (status === 'online') { - statusIcon = Constants.ONLINE_ICON_SVG; + let statusIcon = ''; + if (type === 'avatar') { + if (status === 'online') { + statusIcon = Constants.ONLINE_AVATAR_SVG; } else if (status === 'away') { - statusIcon = Constants.AWAY_ICON_SVG; + statusIcon = Constants.AWAY_AVATAR_SVG; } else { - statusIcon = Constants.OFFLINE_ICON_SVG; + statusIcon = Constants.OFFLINE_AVATAR_SVG; } - - return ( - <span - className={'status ' + this.props.className} - dangerouslySetInnerHTML={{__html: statusIcon}} - /> - ); + } else if (status === 'online') { + statusIcon = Constants.ONLINE_ICON_SVG; + } else if (status === 'away') { + statusIcon = Constants.AWAY_ICON_SVG; + } else { + statusIcon = Constants.OFFLINE_ICON_SVG; } + return ( + <span + className={'status ' + props.className} + dangerouslySetInnerHTML={{__html: statusIcon}} + /> + ); } StatusIcon.defaultProps = { @@ -46,7 +45,7 @@ StatusIcon.defaultProps = { }; StatusIcon.propTypes = { - status: React.PropTypes.string, - className: React.PropTypes.string, - type: React.PropTypes.string + status: PropTypes.string, + className: PropTypes.string, + type: PropTypes.string }; |