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 dismissable = 'no' === 'yes'; var experienceDismissalTtl = '1'; var experienceImpressionTtl = '1'; var experiencePrefix = '2021_email_wall'; var meterName = 'email-wall'; var realmSpeakingId = 'theintercept'; var showMetering = 'no' === 'yes'; 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?'; // 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 source = 'web_intercept_20220124_piano_email_wall_hard_0-articles' || 'web_intercept_piano-unknown'; var testVariant = '20220124_0-articles' || undefined; var meter, originatingReferrer, referrerPostId, referrerUrl; var bodyElement = document.querySelector('body'); var closeButton = document.getElementById('close'); var dismissLink = document.getElementById('dismiss'); var elementsWithPlaceholderText = document.querySelectorAll('.has-placeholder-text'); var htmlElement = document.querySelector('html'); var $html = $(htmlElement); var signUpDonateButton = document.getElementById('sign-up-donate'); var signInDonateButton = document.getElementById('sign-in-donate'); 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 signUpDescriptionElement = document.querySelector('.content.sign-up .description'); var signUpLink = document.querySelector('.sign-in-subscription-text a'); var signInLink = document.querySelector('.sign-up-subscription-text a'); var articlesRemainingElement = document.getElementById('articles-remaining'); 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; // 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.dispatchEventToParent('meter:bypassed', { meter: meter }); FLMPiano.trackGAEvent({ eventLabel: 'newsletter: popup close', metric6: 1, transport: 'beacon' }); } function handleCloseButtonClickAfterSubscription(event) { FLMPiano.dispatchEventToParent('meter:bypassed', { meter: meter }); FLMPiano.trackGAEvent({ eventLabel: 'newsletter: popup close converted', metric7: 1, transport: 'beacon' }); } function handleDismissLinkClick(event) { FLMPiano.dispatchEventToParent('experience:dismiss', { experienceDismissalTtl: experienceDismissalTtl, experiencePrefix: experiencePrefix }); FLMPiano.dispatchEventToParent('meter:dismissed', { meter: meter }); FLMPiano.trackGAEvent({ eventLabel: 'newsletter: popup close', metric6: 1, transport: 'beacon' }); } function handleDonateButtonClick(event) { FLMPiano.trackGAEvent({ eventLabel: 'newsletter: donate button click', metric5: 1, transport: 'beacon' }); closeButton.click(); } 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(); $('.Piano').toggleClass('dismissable', dismissable); FLMPiano.waitForParams({ requirements: { activeMeters: true, customVariables: true } }).then(function(params) { var donateUrl; 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 && showMetering) { 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.dispatchEventToParent('meter:expired', { meter: meter }); if (typeof testVariant === 'string') { ga('set', 'dimension12', testVariant); } FLMPiano.trackGAEvent({ eventLabel: 'registration: popup open', metric3: 1 }); } $html.addClass('loaded'); }); } function handleParentResize(resizeEvent) { bodyElement.style.height = String(resizeEvent.height + 1) + 'px'; $(bodyElement).toggleClass('extraSmallHeight', resizeEvent.height < 570); FLMPiano.onNextFrame(function () { $html.toggleClass('sized', true); }); } function handleSignInLinkClick(event) { $(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 success message $(signInContentElement).addClass('success'); signInHeadingElement.innerText = signInSuccessText; $(signInSubmitButton).removeClass('loading'); updateDonateSource(source + '_after_sign_in_dollar_amount'); // show close button, stop treating closes like dismisses now closeButton.removeEventListener('click', handleCloseButtonClick); closeButton.addEventListener('click', handleCloseButtonClickAfterSubscription); $(closeButton).show(); return; } // remove loading state & re-enable inputs $(signInEmailInput).prop('disabled', false); $(signInSubmitButton) .prop('disabled', false) .removeClass('loading'); // render error message $(signInContentElement).hide(); $(errorContentElement).show(); $(signInErrorText).show(); }) .catch(function (error) { submitting = false; signInHeadingElement.innerText = error.message; $(articlesRemainingElement).hide(); // remove loading state & re-enable inputs $(signInSubmitButton).removeClass('loading'); $(signInEmailInput).prop('disabled', false); }); } function handleSignUpLinkClick(event) { $(signInContentElement).hide(); $(errorContentElement).hide(); $(signUpContentElement).show(); } function handleSignUpSubmitButtonClick(event) { if (submitting) { return; } submitting = true; 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); // show success message if (response.status === 'verified') { FLMPiano.trackGAEvent({ eventLabel: 'newsletter: sign in' }); // this is 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 }); } $(signUpContentElement).addClass('success'); $(signUpSubmitButton).removeClass('loading'); // show close button, stop treating closes like dismisses closeButton.removeEventListener('click', handleCloseButtonClick); closeButton.addEventListener('click', handleCloseButtonClickAfterSubscription); $(closeButton).show(); }) .catch(function (error) { submitting = false; signUpHeadingElement.innerText = error.message; $(articlesRemainingElement).hide(); // remove loading state & re-enable inputs $(signUpEmailInput).prop('disabled', false); $(signUpSubmitButton) .prop('disabled', false) .removeClass('loading'); }); } function buildArticlesRemainingText(meter) { const viewsLeft = meter.viewsLeft + 1; return 'You have ' + String(viewsLeft) + ' ' + FLMPiano.pluralize('article', viewsLeft) + ' remaining.'; } function updateDonateSource(source) { var donateUrl = FLMPiano.buildUrl(donateButtons[0].href, { source: source }); donateButtons.forEach(function(donateButton) { donateButton.setAttribute('href', donateUrl); }); } signInLink.addEventListener('click', handleSignInLinkClick); signUpLink.addEventListener('click', handleSignUpLinkClick); signInErrorTextLink.addEventListener('click', handleSignUpLinkClick); signInSubmitButton.addEventListener('click', handleSignInSubmitButtonClick); signUpSubmitButton.addEventListener('click', handleSignUpSubmitButtonClick); closeButton.addEventListener('click', handleCloseButtonClick); dismissLink.addEventListener('click', handleDismissLinkClick); donateButtons.forEach(function(donateButton) { donateButton.addEventListener('click', handleDonateButtonClick); }); FLMPiano.onLoad(function() { TI.onLoad(function() { handleLoad(); }); }); });