import React from 'react'; import PropTypes from 'prop-types'; import { injectIntl, defineMessages } from 'react-intl'; import DatePicker from 'react-datepicker'; import IconButton from '../../../components/icon_button'; import { isMobile } from '../../../is_mobile'; import "react-datepicker/dist/react-datepicker.css"; const messages = defineMessages({ schedule_status: { id: 'schedule_status.title', defaultMessage: 'Schedule Status' }, }); export default @injectIntl class SchedulePostDropdown extends React.PureComponent { static propTypes = { date: PropTypes.instanceOf(Date), setScheduledAt: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, isPro: PropTypes.bool, onOpenProUpgradeModal: PropTypes.func.isRequired, }; state = { open: false, }; handleToggle = () => { if (!this.props.isPro) { return this.props.onOpenProUpgradeModal(); } const newOpen = !this.state.open; const newDate = newOpen ? new Date() : null; this.handleSetDate(newDate); this.setState({ open: newOpen }); } handleSetDate = (date) => { this.props.setScheduledAt(date); } render () { const { intl, date, isPro } = this.props; const { open } = this.state; const datePickerDisabled = !isPro; return (