From 79a35d25addaf3ce7c6cf0e14a271ebaab8818b8 Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Fri, 27 Apr 2018 09:01:26 +0800 Subject: [PATCH] [MM-10341] Remove "Add Reaction" on posts of flagged, recent mentions and search results (#1631) * remove "Add Reaction" on posts of flagged, recent mentions and search results * set default props to true for showAddReaction --- app/components/post/post.js | 4 ++++ app/components/post_body/post_body.js | 6 ++++-- .../search/channel_display_name/channel_display_name.js | 2 +- app/screens/search/channel_display_name/index.js | 2 +- app/screens/search/search_result_post/search_result_post.js | 1 + 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/components/post/post.js b/app/components/post/post.js index efcd0eacf..9f67070bc 100644 --- a/app/components/post/post.js +++ b/app/components/post/post.js @@ -60,6 +60,7 @@ export default class Post extends PureComponent { canDelete: PropTypes.bool.isRequired, onPermalinkPress: PropTypes.func, shouldRenderReplyButton: PropTypes.bool, + showAddReaction: PropTypes.bool, showFullDate: PropTypes.bool, showLongPost: PropTypes.bool, theme: PropTypes.object.isRequired, @@ -70,6 +71,7 @@ export default class Post extends PureComponent { static defaultProps = { isSearchResult: false, + showAddReaction: true, showLongPost: false, channelIsReadOnly: false, }; @@ -386,6 +388,7 @@ export default class Post extends PureComponent { post, renderReplies, shouldRenderReplyButton, + showAddReaction, showFullDate, showLongPost, theme, @@ -461,6 +464,7 @@ export default class Post extends PureComponent { managedConfig={managedConfig} isFlagged={isFlagged} isReplyPost={isReplyPost} + showAddReaction={showAddReaction} showLongPost={showLongPost} /> diff --git a/app/components/post_body/post_body.js b/app/components/post_body/post_body.js index 66db41a2f..18a755643 100644 --- a/app/components/post_body/post_body.js +++ b/app/components/post_body/post_body.js @@ -35,6 +35,7 @@ export default class PostBody extends PureComponent { flagPost: PropTypes.func.isRequired, unflagPost: PropTypes.func.isRequired, }).isRequired, + canAddReaction: PropTypes.bool, canDelete: PropTypes.bool, canEdit: PropTypes.bool, channelIsReadOnly: PropTypes.bool.isRequired, @@ -54,7 +55,6 @@ export default class PostBody extends PureComponent { managedConfig: PropTypes.object, message: PropTypes.string, navigator: PropTypes.object.isRequired, - canAddReaction: PropTypes.bool, onAddReaction: PropTypes.func, onCopyPermalink: PropTypes.func, onCopyText: PropTypes.func, @@ -66,6 +66,7 @@ export default class PostBody extends PureComponent { postId: PropTypes.string.isRequired, postProps: PropTypes.object, renderReplyBar: PropTypes.func, + showAddReaction: PropTypes.bool, showLongPost: PropTypes.bool.isRequired, theme: PropTypes.object, toggleSelected: PropTypes.func, @@ -128,13 +129,14 @@ export default class PostBody extends PureComponent { onCopyText, onPostDelete, onPostEdit, + showAddReaction, } = this.props; const actions = []; const isPendingOrFailedPost = isPending || isFailed; // we should check for the user roles and permissions if (!isPendingOrFailedPost && !isSystemMessage && !isPostEphemeral) { - if (canAddReaction && !channelIsReadOnly) { + if (showAddReaction && canAddReaction && !channelIsReadOnly) { actions.push({ text: formatMessage({id: 'mobile.post_info.add_reaction', defaultMessage: 'Add Reaction'}), onPress: this.props.onAddReaction, diff --git a/app/screens/search/channel_display_name/channel_display_name.js b/app/screens/search/channel_display_name/channel_display_name.js index e30b2a5dc..f13227544 100644 --- a/app/screens/search/channel_display_name/channel_display_name.js +++ b/app/screens/search/channel_display_name/channel_display_name.js @@ -9,7 +9,7 @@ import {changeOpacity, makeStyleSheetFromTheme} from 'app/utils/theme'; export default class ChannelDisplayName extends PureComponent { static propTypes = { - displayName: PropTypes.string.isRequired, + displayName: PropTypes.string, theme: PropTypes.object.isRequired, }; diff --git a/app/screens/search/channel_display_name/index.js b/app/screens/search/channel_display_name/index.js index e4614e087..39b4f369d 100644 --- a/app/screens/search/channel_display_name/index.js +++ b/app/screens/search/channel_display_name/index.js @@ -16,7 +16,7 @@ function makeMapStateToProps() { const channel = getChannel(state, {id: post.channel_id}); return { - displayName: channel.display_name, + displayName: channel ? channel.display_name : '', theme: getTheme(state), }; }; diff --git a/app/screens/search/search_result_post/search_result_post.js b/app/screens/search/search_result_post/search_result_post.js index 93a5c86fa..566d2079d 100644 --- a/app/screens/search/search_result_post/search_result_post.js +++ b/app/screens/search/search_result_post/search_result_post.js @@ -40,6 +40,7 @@ export default class SearchResultPost extends PureComponent { postId={this.props.postId} {...postComponentProps} isSearchResult={true} + showAddReaction={false} showFullDate={this.props.showFullDate} navigator={this.props.navigator} />