You have … articles remaining.
Join Our Newsletter for Free Access to Our Reporting
This is not a paywall and joining is free. Interested in your privacy options? Learn about different ways to access this site by visiting our email privacy page.
Confirm your email address to continue reading.
Not already on the newsletter? Subscribe now .
Sorry, we weren’t able to find your information. Please join the
newsletter for free access to our reporting.
$(function() {
// experience config
var experienceDismissalTtl = '1';
var experienceImpressionTtl = '1';
var experiencePrefix = '2021_email_wall';
var meterName = 'email-wall';
var realmSpeakingId = 'theintercept';
var showArticleMetering = 'yes' === 'yes';
// newsletter config
var countryCode = undefined;
var lists = 'appeals, breaking-news, politics, weekly-digest'
.split(/,\s*/)
.map(function(name) { return name.trim(); })
.filter(function(name) { return name.length > 0; });
var privacyEnhanced = false;
var signInSuccessText = 'Welcome back! Will you take the next step to support our independent journalism by becoming a member of The Intercept?';
var signUpSuccessText = 'Thank you for joining! Will you take the next step to support our independent journalism by becoming a member of The Intercept?';
var source = 'web_intercept_20210810_piano_email_ask' || 'web_intercept_piano-unknown';
var originatingReferrer, referrerPostId, referrerUrl;
var htmlElement = document.querySelector('html');
var $html = $(htmlElement);
var bodyElement = document.querySelector('body');
var closeButton = document.getElementById('close');
var signUpEmailInput = document.getElementById('sign-up-email');
var signInEmailInput = document.getElementById('sign-in-email');
var signInSubmitButton = document.getElementById('sign-in-submit');
var signUpSubmitButton = document.getElementById('sign-up-submit');
var signInContentElement = document.querySelector('.content.sign-in');
var signUpContentElement = document.querySelector('.content.sign-up');
var signInLink = document.querySelector('.sign-in-subscription-text a');
var signUpLink = document.querySelector('.sign-up-subscription-text a');
var articlesRemainingElement = document.getElementById('articles-remaining');
var elementsWithPlaceholderText = document.querySelectorAll('.has-placeholder-text');
var donateButtons = document.querySelectorAll('.donate-button');
// sign-in error page
var errorContentElement = document.querySelector('.error');
var signInErrorText = document.querySelector('.sign-in-error-heading');
var signInErrorTextLink = document.querySelector('.error-heading a');
var signUpHeadingElement = document.querySelector('.sign-up-heading');
var signInHeadingElement = document.querySelector('.sign-in-heading');
var submitting = false;
// event handlers
function handleCloseButtonClick(event) {
FLMPiano.dispatchEventToParent('experience:dismiss', {
experienceDismissalTtl: experienceDismissalTtl,
experiencePrefix: experiencePrefix
});
FLMPiano.trackGAEvent({
eventLabel: 'newsletter: popup close',
metric6: 1,
transport: 'beacon'
});
}
function handleCloseButtonClickAfterSubscription(event) {
FLMPiano.trackGAEvent({
eventLabel: 'newsletter: popup close converted',
metric7: 1,
transport: 'beacon'
});
}
function handleDonateButtonClick(event) {
FLMPiano.trackGAEvent({
eventLabel: 'newsletter: donate button click',
metric5: 1,
transport: 'beacon'
});
closeButton.click();
}
function handleKeyDown(event) {
switch (event.code) {
case 'Escape':
closeButton.click();
break;
default:
// pass through
}
}
function handleSignInLinkClick(event) {
event.preventDefault();
$(signUpContentElement).hide();
$(signInContentElement).show();
}
function handleSignInSubmitButtonClick(event) {
if (submitting) {
return;
}
submitting = true;
var email = signInEmailInput.value;
// adding loading state & disable inputs
$(signInEmailInput).prop('disabled', true);
$(signInSubmitButton)
.prop('disabled', true)
.addClass('loading');
piano.logMicroConversion('user:verify');
FLMPiano.user.verify({
email: email,
lists: lists,
realmSpeakingId: realmSpeakingId
}).then(function(response) {
submitting = false;
piano.logMicroConversion('user:verify:' + response.status);
if (response.status === 'verified') {
// show the confirmation message
$(articlesRemainingElement).hide();
$(signInContentElement).addClass('success');
$(signInHeadingElement).text(signInSuccessText);
$(signInSubmitButton).removeClass('loading');
// stop treating closes like dismisses now
closeButton.removeEventListener('click', handleCloseButtonClick);
closeButton.addEventListener('click', handleCloseButtonClickAfterSubscription);
return;
}
$(signInContentElement).hide();
$(errorContentElement).show();
$(signInErrorText).show();
$(signInEmailInput).prop('disabled', false);
$(signInSubmitButton)
.prop('disabled', false)
.removeClass('loading');
}).catch(function(error) {
submitting = false;
signInHeadingElement.innerText = error.message;
// remove loading state & re-enable inputs
$(signInEmailInput).prop('disabled', false);
$(signInSubmitButton)
.prop('disabled', false)
.removeClass('loading');
});
}
function handleSignUpLinkClick(event) {
event.preventDefault();
$(signInContentElement).hide();
$(errorContentElement).hide();
$(signUpContentElement).show();
}
function handleSignUpSubmitButtonClick(event) {
if (submitting) {
return;
}
var email = signUpEmailInput.value;
// adding loading state & disable inputs
$(signUpEmailInput).prop('disabled', true);
$(signUpSubmitButton)
.prop('disabled', true)
.addClass('loading');
piano.logMicroConversion('user:register');
FLMPiano.user.register({
countryCode: countryCode,
email: email,
experiencePrefix: experiencePrefix,
lists: lists,
originatingReferrer: originatingReferrer,
privacyEnhanced: privacyEnhanced,
realmSpeakingId: realmSpeakingId,
referrerPostId: referrerPostId,
referrerUrl: referrerUrl,
source: source
}).then(function(response) {
submitting = false;
piano.logMicroConversion('user:register:' + response.status);
if (response.status === 'verified') {
// this was actually a sign in, not a sign up
signUpHeadingElement.innerText = signInSuccessText;
} else {
signUpHeadingElement.innerText = signUpSuccessText;
// track full conversion
piano.logConversion(realmSpeakingId, 'Newsletter', 1);
FLMPiano.trackGAEvent({
eventLabel: 'newsletter: signup',
metric2: 1
});
}
$(articlesRemainingElement).hide();
$(signUpSubmitButton).removeClass('loading');
$(signUpContentElement).addClass('success');
// stop treating closes like dismisses now
closeButton.removeEventListener('click', handleCloseButtonClick);
closeButton.addEventListener('click', handleCloseButtonClickAfterSubscription);
}).catch(function(error) {
submitting = false;
signUpHeadingElement.innerText = error.message;
// remove loading state & re-enable inputs
$(signUpEmailInput).prop('disabled', false);
$(signUpSubmitButton)
.prop('disabled', false)
.removeClass('loading');
});
}
function handleLoad() {
TI.tracking.parsely.insert();
FLMPiano.waitForParams({
requirements: {
activeMeters: true,
customVariables: true
}
}).then(function(params) {
var donateUrl;
var meter = params.activeMeters[meterName];
if (typeof params.customVariables.originatingReferrer === 'string') {
originatingReferrer = params.customVariables.originatingReferrer;
}
if (typeof params.customVariables.referrer_post_id === 'string') {
referrerPostId = params.customVariables.referrer_post_id;
}
referrerUrl = params.url;
// update donate links
donateUrl = FLMPiano.buildUrl(donateButtons[0].href, {
originating_referrer: originatingReferrer,
referrer_post_id: referrerPostId,
referrer_url: referrerUrl,
source: source,
});
donateButtons.forEach(function(donateButton) {
donateButton.setAttribute('href', donateUrl);
});
if (meter && showArticleMetering) {
articlesRemainingElement.innerText = buildArticlesRemainingText(meter);
} else {
$(articlesRemainingElement).hide();
}
if (params.preview) {
$html.addClass('extraSmall');
$html.addClass('sized');
} else {
FLMPiano.dispatchEventToParent('experience:impression', {
experienceImpressionTtl: experienceImpressionTtl,
experiencePrefix: experiencePrefix
});
FLMPiano.trackGAEvent({
eventLabel: 'registration: popup open',
metric3: 1
});
}
$html.addClass('loaded');
});
}
function handleParentResize(resizeEvent) {
$(bodyElement).toggleClass('extraSmallHeight', resizeEvent.height < 570);
FLMPiano.onNextFrame(function() {
$(htmlElement).toggleClass('sized', true);
});
}
// helpers
function buildArticlesRemainingText(meter) {
var count = meter.viewsLeft + 1;
return 'You have ' + String(count) + ' ' + FLMPiano.pluralize('article', count) + ' remaining';
}
// wire up events
signUpLink.addEventListener('click', handleSignInLinkClick);
signInLink.addEventListener('click', handleSignUpLinkClick);
signInErrorTextLink.addEventListener('click', handleSignUpLinkClick);
signInSubmitButton.addEventListener('click', handleSignInSubmitButtonClick);
signUpSubmitButton.addEventListener('click', handleSignUpSubmitButtonClick);
closeButton.addEventListener('click', handleCloseButtonClick);
donateButtons.forEach(function(donateButton) {
donateButton.addEventListener('click', handleDonateButtonClick);
});
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('load', handleLoad);
FLMPiano.setUpResponsiveContainer('body', {
onResize: handleParentResize
});
});