25 lines
684 B
JavaScript
25 lines
684 B
JavaScript
|
import { connect } from 'react-redux';
|
||
|
import PollButton from '../components/poll_button';
|
||
|
import { addPoll, removePoll } from '../../../actions/compose';
|
||
|
|
||
|
const mapStateToProps = state => ({
|
||
|
unavailable: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 0),
|
||
|
active: state.getIn(['compose', 'poll']) !== null,
|
||
|
});
|
||
|
|
||
|
const mapDispatchToProps = dispatch => ({
|
||
|
|
||
|
onClick () {
|
||
|
dispatch((_, getState) => {
|
||
|
if (getState().getIn(['compose', 'poll'])) {
|
||
|
dispatch(removePoll());
|
||
|
} else {
|
||
|
dispatch(addPoll());
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
});
|
||
|
|
||
|
export default connect(mapStateToProps, mapDispatchToProps)(PollButton);
|