mattermost-mobile/app/components/post_profile_picture/index.js

38 lines
1.4 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {connect} from 'react-redux';
import {isSystemMessage} from '@mm-redux/utils/post_utils';
import {Client4} from '@client/rest';
import {getTheme} from '@mm-redux/selectors/entities/preferences';
import {getConfig} from '@mm-redux/selectors/entities/general';
import {fromAutoResponder} from 'app/utils/general';
import PostProfilePicture from './post_profile_picture';
import {getUser} from '@mm-redux/selectors/entities/users';
function mapStateToProps(state, ownProps) {
const config = getConfig(state);
const post = ownProps.post;
const user = getUser(state, post.user_id);
const overrideIconUrl = Client4.getAbsoluteUrl(post?.props?.override_icon_url); // eslint-disable-line camelcase
return {
enablePostIconOverride: config.EnablePostIconOverride === 'true' && post?.props?.use_user_icon !== 'true', // eslint-disable-line camelcase
fromWebHook: post?.props?.from_webhook === 'true', // eslint-disable-line camelcase
isSystemMessage: isSystemMessage(post),
fromAutoResponder: fromAutoResponder(post),
overrideIconUrl,
userId: post.user_id,
isBot: (user ? user.is_bot : false),
isEmoji: Boolean(post?.props?.override_icon_emoji), // eslint-disable-line camelcase
theme: getTheme(state),
};
}
export default connect(mapStateToProps)(PostProfilePicture);