mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Convert status_icon_new.tsx to functional component (#24993)
* Convert status_icon_new.tsx to functional component * run the command run npm run fix and npm run test -- -u * type check error fixed * revised the changes * Unintended changes revised. * Revised changes * map moved outside of component --------- Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
parent
a31b899818
commit
e130a37199
@ -4,32 +4,25 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
className: string;
|
className?: string;
|
||||||
status: string;
|
status?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class StatusIconNew extends React.PureComponent<Props> {
|
const statusToIconMap: { [key: string]: string } = {
|
||||||
static defaultProps: Props = {
|
online: 'icon-check-circle',
|
||||||
className: '',
|
away: 'icon-clock',
|
||||||
status: '',
|
dnd: 'icon-minus-circle',
|
||||||
};
|
default: 'icon-circle-outline',
|
||||||
|
};
|
||||||
|
|
||||||
render() {
|
const StatusIconNew = ({className = '', status = ''}: Props) => {
|
||||||
const {status, className} = this.props;
|
if (!status) {
|
||||||
|
return null;
|
||||||
if (!status) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
let iconName = 'icon-circle-outline';
|
|
||||||
if (status === 'online') {
|
|
||||||
iconName = 'icon-check-circle';
|
|
||||||
} else if (status === 'away') {
|
|
||||||
iconName = 'icon-clock';
|
|
||||||
} else if (status === 'dnd') {
|
|
||||||
iconName = 'icon-minus-circle';
|
|
||||||
}
|
|
||||||
|
|
||||||
return <i className={`${iconName} ${className}`}/>;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
const iconName = statusToIconMap[status] || statusToIconMap.default;
|
||||||
|
|
||||||
|
return <i className={`${iconName} ${className}`}/>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default React.memo(StatusIconNew);
|
||||||
|
Loading…
Reference in New Issue
Block a user