From 38dd85daab8e8342ec608d24cf81254c0dfde95c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 20 Nov 2016 19:39:18 +0100 Subject: Adding notifications column --- .../components/containers/account_container.jsx | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 app/assets/javascripts/components/containers/account_container.jsx (limited to 'app/assets/javascripts/components/containers/account_container.jsx') diff --git a/app/assets/javascripts/components/containers/account_container.jsx b/app/assets/javascripts/components/containers/account_container.jsx new file mode 100644 index 000000000..1f49f9819 --- /dev/null +++ b/app/assets/javascripts/components/containers/account_container.jsx @@ -0,0 +1,30 @@ +import { connect } from 'react-redux'; +import { makeGetAccount } from '../selectors'; +import Account from '../components/account'; +import { + followAccount, + unfollowAccount +} from '../actions/accounts'; + +const makeMapStateToProps = () => { + const getAccount = makeGetAccount(); + + const mapStateToProps = (state, props) => ({ + account: getAccount(state, props.id), + me: state.getIn(['meta', 'me']) + }); + + return mapStateToProps; +}; + +const mapDispatchToProps = (dispatch) => ({ + onFollow (account) { + if (account.getIn(['relationship', 'following'])) { + dispatch(unfollowAccount(account.get('id'))); + } else { + dispatch(followAccount(account.get('id'))); + } + } +}); + +export default connect(makeMapStateToProps, mapDispatchToProps)(Account); -- cgit