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:
Muzakir Shah 2023-11-10 14:23:11 +05:00 committed by GitHub
parent a31b899818
commit e130a37199
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,32 +4,25 @@
import React from 'react';
type Props = {
className: string;
status: string;
className?: string;
status?: string;
}
export default class StatusIconNew extends React.PureComponent<Props> {
static defaultProps: Props = {
className: '',
status: '',
};
const statusToIconMap: { [key: string]: string } = {
online: 'icon-check-circle',
away: 'icon-clock',
dnd: 'icon-minus-circle',
default: 'icon-circle-outline',
};
render() {
const {status, className} = this.props;
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 StatusIconNew = ({className = '', status = ''}: Props) => {
if (!status) {
return null;
}
}
const iconName = statusToIconMap[status] || statusToIconMap.default;
return <i className={`${iconName} ${className}`}/>;
};
export default React.memo(StatusIconNew);