// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React from 'react'; import PropTypes from 'prop-types'; import {FormattedMessage} from 'react-intl'; export default class NewMessageIndicator extends React.PureComponent { static propTypes = { onClick: PropTypes.func.isRequired, newMessages: PropTypes.number } constructor(props) { super(props); this.state = { visible: false, rendered: false }; } componentWillReceiveProps(nextProps) { if (nextProps.newMessages > 0) { this.setState({rendered: true}, () => { this.setState({visible: true}); }); } else { this.setState({visible: false}); } } render() { let className = 'new-messages__button'; if (this.state.visible > 0) { className += ' visible'; } if (!this.state.rendered) { className += ' disabled'; } return (