An error has occurred

{{terminalError}}

Join Our Newsletter Thank You For Joining!
Original reporting. Fearless journalism. Delivered to you. Will you take the next step to support our independent journalism by becoming a member of The Intercept?
$(function() { // experience config var experienceDismissalTtl = '48'; var experienceImpressionTtl = '2019_global_newsletter_signup'; var experiencePrefix = '2019_global_newsletter_signup'; // 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 realmSpeakingId = 'theintercept'; var referrerPostId; var signupPromotion = '' || undefined; var source = 'web_intercept_20200306_piano-fullscreen-modal' || 'web_intercept_piano-unknown'; // elements var htmlElement = document.querySelector('html'); var closeButton = document.getElementById('close'); var containerElement = document.getElementById('Piano'); var donateButton = document.getElementById('donate-button'); var emailInput = document.getElementById('email'); var descriptionElement = document.getElementById('description'); var submitButton = document.getElementById('submit'); htmlElement.className = htmlElement.className + ' loaded'; FLMPiano.setUpResponsiveContainer('#Piano'); donateButton.href = FLMPiano.buildUrl(donateButton.href, { source: source }); FLMPiano.dispatchEventToParent('experience:impression', { experienceImpressionTtl: experienceImpressionTtl, experiencePrefix: experiencePrefix }); FLMPiano.trackGAEvent({ eventLabel: 'newsletter: popup open', metric1: 1, nonInteraction: true }); FLMPiano.getCustomVariables().then(function(customVariables) { if (typeof customVariables.countryCode === 'string') { countryCode = customVariables.countryCode; } if (typeof customVariables.privacyEnhanced === 'string') { privacyEnhanced = (customVariables.privacyEnhanced.toLowerCase() === true); } if (typeof customVariables.referrer_post_id === 'string') { referrerPostId = Number(customVariables.referrer_post_id); if (isNaN(referrerPostId)) { referrerPostId = undefined; } else { donateButton.href = FLMPiano.buildUrl(donateButton.href, { referrer_post_id: String(referrerPostId) }); } } }); 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' }); } closeButton.addEventListener('click', handleCloseButtonClick); donateButton.addEventListener('click', function(event) { FLMPiano.trackGAEvent({ eventLabel: 'newsletter: donate button click', metric5: 1, transport: 'beacon' }); closeButton.click(); }); submitButton.addEventListener('click', function(event) { var email = emailInput.value; FLMPiano.newsletter.subscribe({ countryCode: countryCode, email: email, experiencePrefix: experiencePrefix, lists: lists, privacyEnhanced: privacyEnhanced, realmSpeakingId: realmSpeakingId, referrerPostId: referrerPostId, signupPromotion: signupPromotion, source: source }).then(function(response) { FLMPiano.trackGAEvent({ eventLabel: 'newsletter: signup', metric2: 1 }); piano.logConversion(realmSpeakingId, 'Newsletter', 1); // show step 2 containerElement.className = containerElement.className + ' subscribed'; // stop treating closes like dismisses now closeButton.removeEventListener('click', handleCloseButtonClick); closeButton.addEventListener('click', handleCloseButtonClickAfterSubscription); }).catch(function(error) { piano.logMicroConversion('newsletter:subscribe:error'); descriptionElement.innerText = error.message; }); }); window.addEventListener('keydown', function(event) { switch (event.code) { case 'Enter': case 'NumpadEnter': submitButton.click(); break; case 'Escape': closeButton.click(); break; default: // pass through } }); });