import { h } from 'preact'; import PropTypes from 'prop-types'; import ErrorMessage from './messages/errorMessage'; import Hiddenmessage from './messages/hiddenMessage'; /* * The prop also contain timeStamp, which is currently not in used * */ const Message = ({ user, message, color, type }) => { const spanStyle = { color }; if (type === 'error') { return ; } else if (type === 'hidden') { return ; } const re = new RegExp(`@${window.currentUser.username}`); const match = re.exec(message); let messageArea; if (match) { messageArea = ( {message.substr(0, match.index)} {`@${window.currentUser.username}`} {message.substr(match.index + match[0].length)} ); } else { messageArea = {message}; } return (
{user} : {messageArea}
); }; Message.propTypes = { user: PropTypes.string.isRequired, color: PropTypes.string.isRequired, message: PropTypes.string.isRequired, type: PropTypes.string, // hidden: PropTypes.bool, // error: PropTypes.bool, }; Message.defaultProps = { type: 'normalMessage', }; export default Message;