2019-08-31 04:07:25 +05:00
|
|
|
import React from 'react';
|
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
import classNames from 'classnames';
|
|
|
|
|
|
|
|
import User from '../../User';
|
|
|
|
|
|
|
|
import styles from './UserItem.module.css';
|
|
|
|
|
2020-04-21 05:04:34 +05:00
|
|
|
const UserItem = React.memo(({ name, avatarUrl, isActive, onSelect }) => (
|
2020-05-26 14:10:06 +05:00
|
|
|
<button type="button" disabled={isActive} className={styles.menuItem} onClick={onSelect}>
|
2019-08-31 04:07:25 +05:00
|
|
|
<span className={styles.user}>
|
2020-04-21 05:04:34 +05:00
|
|
|
<User name={name} avatarUrl={avatarUrl} />
|
2019-08-31 04:07:25 +05:00
|
|
|
</span>
|
|
|
|
<div className={classNames(styles.menuItemText, isActive && styles.menuItemTextActive)}>
|
|
|
|
{name}
|
|
|
|
</div>
|
|
|
|
</button>
|
|
|
|
));
|
|
|
|
|
|
|
|
UserItem.propTypes = {
|
|
|
|
name: PropTypes.string.isRequired,
|
2020-04-21 05:04:34 +05:00
|
|
|
avatarUrl: PropTypes.string,
|
2019-08-31 04:07:25 +05:00
|
|
|
isActive: PropTypes.bool.isRequired,
|
|
|
|
onSelect: PropTypes.func.isRequired,
|
|
|
|
};
|
|
|
|
|
|
|
|
UserItem.defaultProps = {
|
2020-04-21 05:04:34 +05:00
|
|
|
avatarUrl: undefined,
|
2019-08-31 04:07:25 +05:00
|
|
|
};
|
|
|
|
|
|
|
|
export default UserItem;
|