An error has occurred

{{terminalError}}

You have … articles remaining.

(function() { window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', 'UA-79475609-15', 'auto'); var script = document.createElement('script'); script.setAttribute('defer', ''); script.setAttribute('src', 'https://www.google-analytics.com/analytics.js'); script.setAttribute('type', 'text/javascript'); document.head.appendChild(script); })(); (function(src) { window.FLMPiano = window.FLMPiano || {}; window.FLMPiano.onLoad = function(handler) { window.FLMPiano.loadHandlers = window.FLMPiano.loadHandlers || []; window.FLMPiano.loadHandlers.push(handler); }; var script = document.createElement('script'); script.setAttribute('defer', ''); script.setAttribute('src', src); script.setAttribute('type', 'text/javascript'); document.head.appendChild(script); })('https://static.theintercept.com/piano/flmpiano-v3.js'); (function(src) { window.TI = window.TI || {}; window.TI.onLoad = function(handler) { window.TI.loadHandlers = window.TI.loadHandlers || []; window.TI.loadHandlers.push(handler); }; var script = document.createElement('script'); script.setAttribute('data-ti-js', ''); script.setAttribute('defer', ''); script.setAttribute('src', src); script.setAttribute('type', 'text/javascript'); document.head.appendChild(script); })('https://static.theintercept.com/ti.js/ti-v1.js'); $(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, 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_20220322_email-ask_one-time' || 'web_intercept_piano-unknown'; var testVariant = '' || undefined; 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 signUpFormElement = document.getElementById('sign-up-form'); var signInFormElement = document.getElementById('sign-in-form'); var signUpFormFieldsContainer = document.getElementById('sign-up-form-fields-container'); var signInFormFieldsContainer = document.getElementById('sign-in-form-fields-container'); 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'); var signInDonateButton = document.getElementById('sign-in-donate'); var signUpDonateButton = document.getElementById('sign-up-donate'); // 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; // flmpiano.js donation form var amountFrequencyOrder = 'amount-frequency'; var initialOneTimeAmount = '25'; var initialMonthlyAmount = '10'; var initialRecurringPeriod = 'one-time'; var initialAmount = (initialRecurringPeriod === 'months') ? initialMonthlyAmount : initialOneTimeAmount; var oneTimeAmountOptions = '15,25,50,100'; var monthlyAmountOptions = '5,8,10,15'; var recurringPeriodLabels = { 'one-time': 'One-time', 'months': 'Monthly', 'years': 'Yearly' }; var recurringPeriodOptions = 'one-time,months'; // 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') { ga('set', 'dimension13', true); FLMPiano.trackGAEvent({ eventLabel: 'newsletter: sign in' }); // show the confirmation message $(articlesRemainingElement).hide(); $(signInContentElement).addClass('success'); $(signInHeadingElement).text(signInSuccessText); $(signInSubmitButton).removeClass('loading'); updateDonateSource(source + '-after-sign-in-dollar-amount'); // 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); ga('set', 'dimension13', true); if (response.status === 'verified') { FLMPiano.trackGAEvent({ eventLabel: 'newsletter: sign in' }); // this was actually a sign in, not a sign up signUpHeadingElement.innerText = signInSuccessText; updateDonateSource(source + '-after-sign-in-dollar-amount'); } else { signUpHeadingElement.innerText = signUpSuccessText; updateDonateSource(source + '-after-sign-up-dollar-amount'); // 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() { FLMPiano.renderDonateFormFields({ amountFrequencyOrder, donateButton: signUpDonateButton, formElement: signUpFormElement, formFieldsContainer: signUpFormFieldsContainer, initialOneTimeAmount, initialMonthlyAmount, initialRecurringPeriod, monthlyAmountOptions, oneTimeAmountOptions, recurringPeriodLabels, recurringPeriodOptions }); FLMPiano.renderDonateFormFields({ amountFrequencyOrder, donateButton: signInDonateButton, formElement: signInFormElement, formFieldsContainer: signInFormFieldsContainer, initialOneTimeAmount, initialMonthlyAmount, initialRecurringPeriod, monthlyAmountOptions, oneTimeAmountOptions, recurringPeriodLabels, recurringPeriodOptions }); FLMPiano.setUpResponsiveContainer('body', { onResize: handleParentResize }); 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) { FLMPiano.updateDonateUrlParams({ donateButton, formElement: donateButton.parentNode, params: { amount: initialAmount, originating_referrer: originatingReferrer, recurring_period: initialRecurringPeriod, referrer_post_id: referrerPostId, referrer_url: referrerUrl, source: source } }); }); 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 }); if (typeof testVariant === 'string') { ga('set', 'dimension12', testVariant); } 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); }); } function updateDonateSource(source) { var donateUrl = FLMPiano.buildUrl(donateButtons[0].href, { source: source }); donateButtons.forEach(function(donateButton) { donateButton.setAttribute('href', donateUrl); }); } // 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); FLMPiano.onLoad(function() { TI.onLoad(function() { handleLoad(); }); }); });