diff --git a/app/soapbox/features/compose/components/poll_form.js b/app/soapbox/features/compose/components/poll_form.js
index efbaa3e19..f0db95f44 100644
--- a/app/soapbox/features/compose/components/poll_form.js
+++ b/app/soapbox/features/compose/components/poll_form.js
@@ -38,6 +38,8 @@ class Option extends React.PureComponent {
onSuggestionSelected: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
maxChars: PropTypes.number.isRequired,
+ onRemovePoll: PropTypes.func.isRequired,
+ numOptions: PropTypes.number.isRequired,
};
handleOptionTitleChange = e => {
@@ -45,10 +47,12 @@ class Option extends React.PureComponent {
};
handleOptionRemove = () => {
- this.props.onRemove(this.props.index);
+ if (this.props.numOptions > 2)
+ this.props.onRemove(this.props.index);
+ else
+ this.props.onRemovePoll();
};
-
handleToggleMultiple = e => {
this.props.onToggleMultiple();
e.preventDefault();
@@ -95,7 +99,7 @@ class Option extends React.PureComponent {
-
+
);
@@ -156,6 +160,7 @@ class PollForm extends ImmutablePureComponent {
isPollMultiple={isMultiple}
onToggleMultiple={this.handleToggleMultiple}
maxChars={maxOptionChars}
+ numOptions={options.size}
{...other}
/>
))}
diff --git a/app/soapbox/features/compose/containers/poll_form_container.js b/app/soapbox/features/compose/containers/poll_form_container.js
index dfb3a1af2..9e3cb3c43 100644
--- a/app/soapbox/features/compose/containers/poll_form_container.js
+++ b/app/soapbox/features/compose/containers/poll_form_container.js
@@ -1,6 +1,6 @@
import { connect } from 'react-redux';
import PollForm from '../components/poll_form';
-import { addPollOption, removePollOption, changePollOption, changePollSettings } from '../../../actions/compose';
+import { addPollOption, removePollOption, changePollOption, changePollSettings, removePoll } from '../../../actions/compose';
import {
clearComposeSuggestions,
fetchComposeSuggestions,
@@ -43,6 +43,10 @@ const mapDispatchToProps = dispatch => ({
dispatch(selectComposeSuggestion(position, token, accountId, path));
},
+ onRemovePoll() {
+ dispatch(removePoll());
+ },
+
});
export default connect(mapStateToProps, mapDispatchToProps)(PollForm);