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 Cookie from 'js-cookie';
import { Messages } from "meteor/nova:core";
const Input = FRC.Input;
class Newsletter extends Component {
constructor(props, context) {
super(props);
this.subscribeEmail = this.subscribeEmail.bind(this);
this.subscribeUser = this.subscribeUser.bind(this);
this.dismissBanner = this.dismissBanner.bind(this);
const showBanner =
!(Meteor.isClient && Cookie.get('showBanner') === "no") &&
!Users.getSetting(context.currentUser, 'newsletter_subscribeToNewsletter', false);
this.state = {
showBanner: showBanner
};
}
subscribeEmail(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");
this.dismissBanner();
}
});
}
subscribeUser() {
Actions.call("addCurrentUserToMailChimpList", (error, result) => {
if (error) {
console.log(error)
Messages.flash(error.message, "error");
} else {
Messages.flash(this.props.successMessage, "success");
this.dismissBanner();
}
});
}
dismissBanner(e) {
if (e && e.preventDefault) e.preventDefault();
this.setState({showBanner: false});
if(this.context.currentUser){
// if user is connected, change setting in their account
Users.setSetting(this.context.currentUser, 'newsletter_subscribeToNewsletter', false);
}else{
// set cookie
Cookie.set('showBanner', "no");
}
}
renderForm() {
return (