* Fix spacing * Update webpacker gem to 3.5 * Add custom preact-compact config * Add babel-loader to resolve a weird issue * Add react-textarea-autocomplete * Move 2 dependencies into devDependencies * Add babel-eslint & eslint-plugin-babel * Refactor chat * Add fixed width to chat's channels * Add timestamp for chat * Fix long word issue * Add showTimestamp options to chat * Add profile image to chat * Make profile image in chat circle * Improve message send logic * Add proper user session handling for chat * Choose profile user image source for chat * Adjust user's text color * Fix lint
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import { h } from 'preact';
|
|
import PropTypes from 'prop-types';
|
|
|
|
const HiddenMessage = ({ user, color, profileImageUrl }) => {
|
|
const spanStyle = { color };
|
|
return (
|
|
<div className="chatmessage">
|
|
<div className="chatmessage__body">
|
|
<a href={`/${user}`} target="_blank">
|
|
<img
|
|
className="chatmessagebody__profileimage"
|
|
src={profileImageUrl}
|
|
alt={`${user} profile`}
|
|
/>
|
|
</a>
|
|
<span className="chatmessagebody__username" style={spanStyle}>
|
|
<a
|
|
className="chatmessagebody__username--link"
|
|
href={`/${user}`}
|
|
target="_blank"
|
|
>
|
|
{user}
|
|
</a>
|
|
</span>
|
|
<span className="chatmessagebody__divider">: </span>
|
|
<span
|
|
className="chatmessagebody__message"
|
|
style={{ color: 'lightgray' }}
|
|
>
|
|
{'<message removed>'}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
HiddenMessage.propTypes = {
|
|
user: PropTypes.string.isRequired,
|
|
color: PropTypes.string.isRequired,
|
|
profileImageUrl: PropTypes.string.isRequired,
|
|
};
|
|
|
|
export default HiddenMessage;
|