import React from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import Message from './Message'; import EmptyAvatar from '../../../images/avatar-empty.jpeg'; const styles = (theme) => ({ root : { height : '100%', display : 'flex', flexDirection : 'column', alignItems : 'center', overflowY : 'auto', padding : theme.spacing.unit } }); class MessageList extends React.Component { componentDidMount() { this.node.scrollTop = this.node.scrollHeight; } getSnapshotBeforeUpdate() { return this.node.scrollTop + this.node.offsetHeight === this.node.scrollHeight; } shouldComponentUpdate(nextProps) { if (nextProps.chatmessages.length !== this.props.chatmessages.length) return true; return false; } componentDidUpdate(prevProps, prevState, shouldScroll) { if (shouldScroll) { this.node.scrollTop = this.node.scrollHeight; } } getTimeString(time) { return `${(time.getHours() < 10 ? '0' : '')}${time.getHours()}:${(time.getMinutes() < 10 ? '0' : '')}${time.getMinutes()}`; } render() { const { chatmessages, myPicture, classes } = this.props; return (