diff options
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/center_panel.jsx | 9 | ||||
-rw-r--r-- | web/react/components/post_focus_view.jsx | 2 | ||||
-rw-r--r-- | web/react/components/posts_view_container.jsx | 16 |
3 files changed, 13 insertions, 14 deletions
diff --git a/web/react/components/center_panel.jsx b/web/react/components/center_panel.jsx index 97c615768..2422588cf 100644 --- a/web/react/components/center_panel.jsx +++ b/web/react/components/center_panel.jsx @@ -33,7 +33,8 @@ export default class CenterPanel extends React.Component { this.state = { showTutorialScreens: tutorialStep === TutorialSteps.INTRO_SCREENS, showPostFocus: ChannelStore.getPostMode() === ChannelStore.POST_MODE_FOCUS, - user: UserStore.getCurrentUser() + user: UserStore.getCurrentUser(), + profiles: JSON.parse(JSON.stringify(UserStore.getProfiles())) }; } componentDidMount() { @@ -54,7 +55,7 @@ export default class CenterPanel extends React.Component { this.setState({showPostFocus: ChannelStore.getPostMode() === ChannelStore.POST_MODE_FOCUS}); } onUserChange() { - this.setState({user: UserStore.getCurrentUser()}); + this.setState({user: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(UserStore.getProfiles()))}); } render() { const channel = ChannelStore.getCurrent(); @@ -65,7 +66,7 @@ export default class CenterPanel extends React.Component { postsContainer = <TutorialIntroScreens/>; createPost = null; } else if (this.state.showPostFocus) { - postsContainer = <PostFocusView/>; + postsContainer = <PostFocusView profiles={this.state.profiles}/>; handleClick = function clickHandler(e) { e.preventDefault(); @@ -87,7 +88,7 @@ export default class CenterPanel extends React.Component { </div> ); } else { - postsContainer = <PostsViewContainer/>; + postsContainer = <PostsViewContainer profiles={this.state.profiles}/>; createPost = ( <div className='post-create__container' diff --git a/web/react/components/post_focus_view.jsx b/web/react/components/post_focus_view.jsx index b9b6acd5f..44a0bae09 100644 --- a/web/react/components/post_focus_view.jsx +++ b/web/react/components/post_focus_view.jsx @@ -105,6 +105,7 @@ export default class PostFocusView extends React.Component { introText={this.getIntroMessage()} messageSeparatorTime={0} postsToHighlight={postsToHighlight} + profiles={this.props.profiles} /> </div> ); @@ -114,4 +115,5 @@ PostFocusView.defaultProps = { }; PostFocusView.propTypes = { + profiles: React.PropTypes.object }; diff --git a/web/react/components/posts_view_container.jsx b/web/react/components/posts_view_container.jsx index 1b14e8681..92d658b55 100644 --- a/web/react/components/posts_view_container.jsx +++ b/web/react/components/posts_view_container.jsx @@ -6,7 +6,6 @@ import LoadingScreen from './loading_screen.jsx'; import ChannelStore from '../stores/channel_store.jsx'; import PostStore from '../stores/post_store.jsx'; -import UserStore from '../stores/user_store.jsx'; import * as Utils from '../utils/utils.jsx'; import * as EventHelpers from '../dispatcher/event_helpers.jsx'; @@ -25,13 +24,11 @@ export default class PostsViewContainer extends React.Component { this.handlePostsViewScroll = this.handlePostsViewScroll.bind(this); this.loadMorePostsTop = this.loadMorePostsTop.bind(this); this.handlePostsViewJumpRequest = this.handlePostsViewJumpRequest.bind(this); - this.onUserChange = this.onUserChange.bind(this); const currentChannelId = ChannelStore.getCurrentId(); const state = { scrollType: PostsView.SCROLL_TYPE_BOTTOM, - scrollPost: null, - profiles: JSON.parse(JSON.stringify(UserStore.getProfiles())) + scrollPost: null }; if (currentChannelId) { Object.assign(state, { @@ -57,14 +54,12 @@ export default class PostsViewContainer extends React.Component { ChannelStore.addLeaveListener(this.onChannelLeave); PostStore.addChangeListener(this.onPostsChange); PostStore.addPostsViewJumpListener(this.handlePostsViewJumpRequest); - UserStore.addChangeListener(this.onUserChange); } componentWillUnmount() { ChannelStore.removeChangeListener(this.onChannelChange); ChannelStore.removeLeaveListener(this.onChannelLeave); PostStore.removeChangeListener(this.onPostsChange); PostStore.removePostsViewJumpListener(this.handlePostsViewJumpRequest); - UserStore.removeChangeListener(this.onUserChange); } handlePostsViewJumpRequest(type, post) { switch (type) { @@ -140,9 +135,6 @@ export default class PostsViewContainer extends React.Component { atTop[this.state.currentChannelIndex] = PostStore.getVisibilityAtTop(currentChannelId); this.setState({postLists, atTop}); } - onUserChange() { - this.setState({profiles: JSON.parse(JSON.stringify(UserStore.getProfiles()))}); - } getChannelPosts(id) { return PostStore.getVisiblePosts(id); } @@ -188,7 +180,7 @@ export default class PostsViewContainer extends React.Component { showMoreMessagesBottom={false} introText={channel ? createChannelIntroMessage(channel) : null} messageSeparatorTime={this.state.currentLastViewed} - profiles={this.state.profiles} + profiles={this.props.profiles} /> ); if (!postLists[i] && isActive) { @@ -208,3 +200,7 @@ export default class PostsViewContainer extends React.Component { ); } } + +PostsViewContainer.propTypes = { + profiles: React.PropTypes.object +}; |