diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-22 15:43:07 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-22 15:43:07 +0100 |
commit | 974d712fbe5775903a4fec5ddc44b4069e68c925 (patch) | |
tree | 00883ef448ffd9b7136be8dd7205c79ba42bd32f /app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx | |
parent | 5997bb47a8a97de6cf3b69f81ef86376019f8f31 (diff) |
Improve performance of compose form
Diffstat (limited to 'app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx')
-rw-r--r-- | app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx b/app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx new file mode 100644 index 000000000..ceac903d9 --- /dev/null +++ b/app/assets/javascripts/components/features/compose/containers/unlisted_toggle_container.jsx @@ -0,0 +1,31 @@ +import { connect } from 'react-redux'; +import UnlistedToggle from '../components/unlisted_toggle'; +import { makeGetStatus } from '../../../selectors'; +import { changeComposeListability } from '../../../actions/compose'; + +const makeMapStateToProps = () => { + const getStatus = makeGetStatus(); + + const mapStateToProps = state => { + const status = getStatus(state, state.getIn(['compose', 'in_reply_to'])); + const me = state.getIn(['compose', 'me']); + + return { + isPrivate: state.getIn(['compose', 'private']), + isUnlisted: state.getIn(['compose', 'unlisted']), + isReplyToOther: status ? status.getIn(['account', 'id']) !== me : false + }; + }; + + return mapStateToProps; +}; + +const mapDispatchToProps = dispatch => ({ + + onChangeListability (e) { + dispatch(changeComposeListability(e.target.checked)); + } + +}); + +export default connect(makeMapStateToProps, mapDispatchToProps)(UnlistedToggle); |