import React, { PropTypes, Component } from 'react'; import Formsy from 'formsy-react'; import FRC from 'formsy-react-components'; import Actions from "../actions.js"; import { Button } from 'react-bootstrap'; import Core from "meteor/nova:core"; const Messages = Core.Messages; const Input = FRC.Input; class NewsletterForm extends Component { constructor() { super(); this.subscribeEmail = this.subscribeEmail.bind(this); this.subscribeUser = this.subscribeUser.bind(this); } subscribeEmail(data) { console.log(data) Actions.call("addEmailToMailChimpList", data.email, (error, result) => { if (error) { console.log(error) Messages.flash(error.message, "error"); } else { Messages.flash(this.props.successMessage, "success"); } }); } subscribeUser() { Actions.call("addCurrentUserToMailChimpList", (error, result) => { if (error) { console.log(error) Messages.flash(error.message, "error"); } else { Messages.flash(this.props.successMessage, "success"); } }); } renderForm() { return ( ) } renderButton() { return ( ) } render() { if (Telescope.settings.get("showBanner", true)) { return (

{this.props.headerText}

{this.context.currentUser ? this.renderButton() : this.renderForm()}
) } else { return null } } } NewsletterForm.propTypes = { headerText: React.PropTypes.string, labelText: React.PropTypes.string, buttonText: React.PropTypes.string, successMessage: React.PropTypes.string } NewsletterForm.defaultProps = { headerText: "Subscribe to the newsletter", labelText: "Your Email", buttonText: "Subscribe", successMessage: "Thanks for subscribing!" }; NewsletterForm.contextTypes = { currentUser: React.PropTypes.object }; module.exports = NewsletterForm; export default NewsletterForm;