summaryrefslogtreecommitdiffstats
path: root/webapp/components/status_icon.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-05-18 09:28:18 -0400
committerGitHub <noreply@github.com>2017-05-18 09:28:18 -0400
commit2bbedd9def2a782f370fb5280994ea0ecbf8a7c7 (patch)
treec97936580a81c561aa9884d1c414c54bd49d401a /webapp/components/status_icon.jsx
parent63e599c43b66f0dd95f7f07c783c40fdaf89e3fb (diff)
downloadchat-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.jsx59
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
};