Files
piratepoet/assets/js/src/settings/default_sender.jsx
Pavel Dohnal 6ffac49364 Fix new code
2019-01-30 09:10:04 +01:00

84 lines
2.5 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { partial } from 'underscore';
import MailPoet from 'mailpoet';
import SenderEmailAddressWarning from 'common/sender_email_address_warning.jsx';
class DefaultSender extends React.Component {
constructor(props) {
super(props);
this.state = {
senderAddress: props.senderAddress,
senderName: props.senderName,
replyToName: props.replyToName,
replyToAddress: props.replyToAddress,
};
this.onChange = this.onChange.bind(this);
}
onChange(field, e) {
const newState = {};
newState[field] = e.target.value;
this.setState(newState);
}
render() {
return (
<React.Fragment>
<p>
<label htmlFor="settings[from_name]">{MailPoet.I18n.t('from')}</label>
<input
type="text"
id="settings[from_name]"
data-automation-id="settings-page-from-name-field"
name="sender[name]"
value={this.state.senderName}
onChange={partial(this.onChange, 'senderName')}
placeholder={MailPoet.I18n.t('yourName')}
/>
<input
type="email"
id="settings[from_email]"
name="sender[address]"
data-automation-id="settings-page-from-email-field"
value={this.state.senderAddress}
onChange={partial(this.onChange, 'senderAddress')}
placeholder="from@mydomain.com"
/>
</p>
<p>
<label htmlFor="settings[reply_name]">{MailPoet.I18n.t('replyTo')}</label>
<input
type="text"
id="settings[reply_name]"
name="reply_to[name]"
value={this.state.replyToName}
onChange={partial(this.onChange, 'replyToName')}
placeholder={MailPoet.I18n.t('yourName')}
/>
<input
type="email"
id="settings[reply_email]"
name="reply_to[address]"
value={this.state.replyToAddress}
onChange={partial(this.onChange, 'replyToAddress')}
placeholder="reply_to@mydomain.com"
/>
</p>
<div className="regular-text">
<SenderEmailAddressWarning emailAddress={this.state.senderAddress} />
</div>
</React.Fragment>
);
}
}
DefaultSender.propTypes = {
senderAddress: PropTypes.string.isRequired,
senderName: PropTypes.string.isRequired,
replyToAddress: PropTypes.string.isRequired,
replyToName: PropTypes.string.isRequired,
};
export default DefaultSender;