// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import ChannelStore from '../stores/channel_store.jsx';
import UserProfile from './user_profile.jsx';
import UserStore from '../stores/user_store.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx';
import * as Utils from '../utils/utils.jsx';
import * as Emoji from '../utils/emoticons.jsx';
import FileAttachmentList from './file_attachment_list.jsx';
import twemoji from 'twemoji';
import PostBodyAdditionalContent from './post_body_additional_content.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import Constants from '../utils/constants.jsx';
import {FormattedMessage, FormattedDate} from 'mm-intl';
export default class RhsRootPost extends React.Component {
constructor(props) {
super(props);
this.parseEmojis = this.parseEmojis.bind(this);
this.handlePermalink = this.handlePermalink.bind(this);
this.state = {};
}
parseEmojis() {
twemoji.parse(ReactDOM.findDOMNode(this), {
className: 'emoji twemoji',
base: '',
folder: Emoji.getImagePathForEmoticon()
});
}
handlePermalink(e) {
e.preventDefault();
EventHelpers.showGetPostLinkModal(this.props.post);
}
componentDidMount() {
this.parseEmojis();
}
shouldComponentUpdate(nextProps) {
if (!Utils.areObjectsEqual(nextProps.post, this.props.post)) {
return true;
}
return false;
}
componentDidUpdate() {
this.parseEmojis();
}
render() {
var post = this.props.post;
var currentUser = UserStore.getCurrentUser();
var isOwner = currentUser.id === post.user_id;
var isAdmin = Utils.isAdmin(currentUser.roles);
var timestamp = UserStore.getProfile(post.user_id).update_at;
var channel = ChannelStore.get(post.channel_id);
var type = 'Post';
if (post.root_id.length > 0) {
type = 'Comment';
}
var currentUserCss = '';
if (UserStore.getCurrentId() === post.user_id) {
currentUserCss = 'current--user';
}
var systemMessageClass = '';
if (Utils.isSystemMessage(post)) {
systemMessageClass = 'post--system';
}
var channelName;
if (channel) {
if (channel.type === 'D') {
channelName = (