diff --git a/app/soapbox/features/compose/components/schedule_form.js b/app/soapbox/features/compose/components/schedule_form.js
index ad444ec95..2228946eb 100644
--- a/app/soapbox/features/compose/components/schedule_form.js
+++ b/app/soapbox/features/compose/components/schedule_form.js
@@ -3,20 +3,30 @@
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import { defineMessages, injectIntl } from 'react-intl';
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';
+import IconButton from 'soapbox/components/icon_button';
+import { removeSchedule } from 'soapbox/actions/compose';
const messages = defineMessages({
schedule: { id: 'schedule.post_time', defaultMessage: 'Post Date/Time' },
+ remove: { id: 'schedule.remove', defaultMessage: 'Remove schedule' },
});
+const mapStateToProps = (state, ownProps) => ({
+ schedule: state.getIn(['compose', 'schedule']),
+});
+
+export default @connect(mapStateToProps)
+@injectIntl
class ScheduleForm extends React.Component {
static propTypes = {
schedule: PropTypes.instanceOf(Date),
intl: PropTypes.object.isRequired,
onSchedule: PropTypes.func.isRequired,
+ dispatch: PropTypes.func,
active: PropTypes.bool,
};
@@ -54,33 +64,43 @@ class ScheduleForm extends React.Component {
return fiveMinutesFromNow.getTime() < selectedDate.getTime();
};
+ handleRemove = e => {
+ this.props.dispatch(removeSchedule());
+ e.preventDefault();
+ }
+
render() {
if (!this.props.active || !this.state) {
return null;
}
+ const { intl } = this.props;
const { schedule } = this.state;
return (
-