forked from Ivasoft/mattermost-mobile
45 lines
2.0 KiB
JavaScript
45 lines
2.0 KiB
JavaScript
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import {connect} from 'react-redux';
|
|
|
|
import {Preferences} from 'mattermost-redux/constants';
|
|
import {getPost, makeGetCommentCountForPost} from 'mattermost-redux/selectors/entities/posts';
|
|
import {getBool, getTeammateNameDisplaySetting} from 'mattermost-redux/selectors/entities/preferences';
|
|
import {getUser} from 'mattermost-redux/selectors/entities/users';
|
|
import {isPostPendingOrFailed, isSystemMessage} from 'mattermost-redux/utils/post_utils';
|
|
import {displayUsername} from 'mattermost-redux/utils/user_utils';
|
|
|
|
import {getTheme} from 'app/selectors/preferences';
|
|
|
|
import PostHeader from './post_header';
|
|
|
|
function makeMapStateToProps() {
|
|
const getCommentCountForPost = makeGetCommentCountForPost();
|
|
return function mapStateToProps(state, ownProps) {
|
|
const {config} = state.entities.general;
|
|
const post = getPost(state, ownProps.postId);
|
|
const commentedOnUser = getUser(state, ownProps.commentedOnUserId);
|
|
const user = getUser(state, post.user_id);
|
|
const teammateNameDisplay = getTeammateNameDisplaySetting(state);
|
|
const militaryTime = getBool(state, Preferences.CATEGORY_DISPLAY_SETTINGS, 'use_military_time');
|
|
|
|
return {
|
|
...ownProps,
|
|
commentedOnDisplayName: displayUsername(commentedOnUser, teammateNameDisplay),
|
|
commentCount: getCommentCountForPost(state, {post}),
|
|
createAt: post.create_at,
|
|
displayName: displayUsername(user, teammateNameDisplay),
|
|
enablePostUsernameOverride: config.EnablePostUsernameOverride === 'true',
|
|
fromWebHook: post.props && post.props.from_webhook === 'true',
|
|
militaryTime,
|
|
isPendingOrFailedPost: isPostPendingOrFailed(post),
|
|
isSystemMessage: isSystemMessage(post),
|
|
overrideUsername: post.props && post.props.override_username,
|
|
theme: getTheme(state)
|
|
};
|
|
};
|
|
}
|
|
|
|
export default connect(makeMapStateToProps)(PostHeader);
|