import { h } from 'preact';
import PropTypes from 'prop-types';
import { adjustTimestamp } from './util';
import ErrorMessage from './messages/errorMessage';
const Message = ({
user,
message,
color,
type,
messageColor,
timestamp,
profileImageUrl,
}) => {
const spanStyle = { color };
const messageStyle = { color: messageColor };
if (type === 'error') {
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 (
{timestamp ? (
{`${adjustTimestamp(timestamp)}`}
) : (
)}
);
};
Message.propTypes = {
user: PropTypes.string.isRequired,
color: PropTypes.string.isRequired,
message: PropTypes.string.isRequired,
messageColor: PropTypes.string,
type: PropTypes.string,
timestamp: PropTypes.string,
profileImageUrl: PropTypes.string,
};
Message.defaultProps = {
type: 'normalMessage',
timestamp: null,
profileImageUrl: '',
messageColor: 'black',
};
export default Message;