mirror of
https://github.com/vale981/Vulcan
synced 2025-03-10 12:36:39 -04:00
87 lines
No EOL
2.5 KiB
JavaScript
87 lines
No EOL
2.5 KiB
JavaScript
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();
|
|
}, 2000)
|
|
}
|
|
|
|
var dismissBanner = function () {
|
|
$('.newsletter-banner').fadeOut('fast', function () {
|
|
if(Meteor.user()){
|
|
// if user is connected, change setting in their account
|
|
setUserSetting('showBanner', false);
|
|
}else{
|
|
// set cookie
|
|
Cookie.set('showBanner', "no");
|
|
}
|
|
});
|
|
}
|
|
|
|
Template[getTemplate('newsletterBanner')].helpers({
|
|
siteName: function () {
|
|
return getSetting('title');
|
|
},
|
|
isNotConnected: function () {
|
|
return !Meteor.user()
|
|
},
|
|
showBanner: function () {
|
|
// note: should not be reactive
|
|
if(
|
|
getSetting('showBanner', false) == false
|
|
|| Router.current().path != '/'
|
|
|| Cookie.get('showBanner') == "no"
|
|
|| (Meteor.user() && getUserSetting('showBanner', true) == false)
|
|
|| (Meteor.user() && getUserSetting('subscribedToNewsletter', false) == true)
|
|
){
|
|
return false;
|
|
}else{
|
|
return true;
|
|
}
|
|
}
|
|
});
|
|
|
|
Template[getTemplate('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);
|
|
throwError(error.message);
|
|
}else{
|
|
console.log(result);
|
|
confirmSubscription();
|
|
}
|
|
});
|
|
}else{
|
|
var email = $('.newsletter-email').val();
|
|
if(!email){
|
|
alert('Please fill in your email.');
|
|
return
|
|
}
|
|
$banner.addClass('show-loader');
|
|
Meteor.call('addEmailToMailChimpList', email, function (error, result) {
|
|
$banner.removeClass('show-loader');
|
|
if(error){
|
|
console.log(error);
|
|
throwError(error.message);
|
|
}else{
|
|
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();
|
|
}
|
|
}) |