2015-04-22 07:50:11 +09:00
|
|
|
var confirmSubscription = function () {
|
|
|
|
$('.newsletter-banner form').css('opacity', 0);
|
|
|
|
$('.newsletter-banner .newsletter-subscribed').css('display', 'block').css('opacity', 1);
|
|
|
|
Meteor.setInterval(function () {
|
|
|
|
// required because otherwise banner disappears immediately after confirmation
|
|
|
|
dismissBanner();
|
2015-05-01 18:22:00 +02:00
|
|
|
}, 2000);
|
|
|
|
};
|
2015-04-22 07:50:11 +09:00
|
|
|
|
|
|
|
var dismissBanner = function () {
|
|
|
|
$('.newsletter-banner').fadeOut('fast', function () {
|
|
|
|
if(Meteor.user()){
|
|
|
|
// if user is connected, change setting in their account
|
|
|
|
Users.setUserSetting('showBanner', false);
|
|
|
|
}else{
|
|
|
|
// set cookie
|
|
|
|
Cookie.set('showBanner', "no");
|
|
|
|
}
|
|
|
|
});
|
2015-05-01 18:22:00 +02:00
|
|
|
};
|
2015-04-22 07:50:11 +09:00
|
|
|
|
|
|
|
Meteor.startup(function () {
|
|
|
|
Template.newsletterBanner.helpers({
|
|
|
|
siteName: function () {
|
|
|
|
return Settings.get('title');
|
|
|
|
},
|
|
|
|
isNotConnected: function () {
|
2015-05-01 18:22:00 +02:00
|
|
|
return !Meteor.user();
|
2015-04-22 07:50:11 +09:00
|
|
|
},
|
|
|
|
showBanner: function () {
|
|
|
|
// note: should not be reactive
|
|
|
|
if(
|
2015-05-01 18:22:00 +02:00
|
|
|
Settings.get('showBanner', false) === false
|
2015-04-22 07:50:11 +09:00
|
|
|
|| !Users.can.view(Meteor.user())
|
2015-05-01 18:22:00 +02:00
|
|
|
|| Router.current().location.get().path !== '/'
|
|
|
|
|| Cookie.get('showBanner') === "no"
|
|
|
|
|| (Meteor.user() && Users.getUserSetting('showBanner', true) === false)
|
|
|
|
|| (Meteor.user() && Users.getUserSetting('subscribedToNewsletter', false) === true)
|
2015-04-22 07:50:11 +09:00
|
|
|
){
|
|
|
|
return false;
|
|
|
|
}else{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
Template.newsletterBanner.events({
|
|
|
|
'click .newsletter-button': function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
var $banner = $('.newsletter-banner');
|
|
|
|
if(Meteor.user()){
|
|
|
|
$banner.addClass('show-loader');
|
|
|
|
Meteor.call('addCurrentUserToMailChimpList', function (error, result) {
|
|
|
|
$banner.removeClass('show-loader');
|
|
|
|
if(error){
|
|
|
|
console.log(error);
|
|
|
|
Messages.flash(error.message, "error");
|
|
|
|
}else{
|
|
|
|
console.log(result);
|
|
|
|
confirmSubscription();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}else{
|
|
|
|
var email = $('.newsletter-email').val();
|
|
|
|
if(!email){
|
|
|
|
alert('Please fill in your email.');
|
2015-05-01 18:22:00 +02:00
|
|
|
return;
|
2015-04-22 07:50:11 +09:00
|
|
|
}
|
|
|
|
$banner.addClass('show-loader');
|
|
|
|
Meteor.call('addEmailToMailChimpList', email, function (error, result) {
|
|
|
|
$banner.removeClass('show-loader');
|
|
|
|
if(error){
|
|
|
|
console.log(error);
|
|
|
|
Messages.flash(error.reason, "error");
|
|
|
|
}else{
|
|
|
|
Messages.clearSeen();
|
|
|
|
console.log(result);
|
|
|
|
confirmSubscription();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
// $('body').addClass('showing-lightbox');
|
|
|
|
// $(e.target).parents('.post').find('.post-video-lightbox').fadeIn('fast');
|
|
|
|
},
|
|
|
|
'click .newsletter-dismiss': function (e) {
|
|
|
|
$('.newsletter-banner').fadeOut('fast');
|
|
|
|
dismissBanner();
|
|
|
|
e.preventDefault();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|