PageSourceSearch

https://ahoramismo.com/wp-content/themes/heavy/assets/dist/js/subscribe-modal.js?ver=4.60

js ahoramismo.com collected 2026-09-24 22:55:55 UTC 17,220 bytes, 1 lines download raw bytes

1(()=>{"use strict";const e=class{static slug="";run(){}getState(){return{}}},t=class extends e{static slug="comment";run(){const e=new CustomEvent("showOverlay",{detail:"comments-overlay"});window.dispatchEvent(e);const t=document.querySelector("#comments-title");t instanceof Element&&t.scrollIntoView()}},n=class extends e{static slug="contest";run(){console.log("ContestIntent")}},s={detectUser(){let e=-1<document.cookie.indexOf("fp.user");const t=document.body.classList;return e||(e=null!==localStorage.getItem("fp.user")),document.addEventListener("fpAuthStatus",e=>{const t=e?.detail?.user_alias??"";t&&s.saveUsername(t),s.setUser()}),e?(s.setUser(),!0):(t.toggle("is-anonymous",!0),t.remove("is-logged-in"),!1)},getUserObject(){const e=document.cookie.split("; ").find(e=>e.startsWith("fp.user="));let t;if(t=e?JSON.parse(e.substring(8)):null,!t){const e=localStorage.getItem("fp.user");e&&(t=JSON.parse(e))}return t},sanitize:e=>"string"==typeof e?e.trim().replace(/[^a-zA-Z0-9\s\-]/g,""):"",extractName:e=>e&&e.user_name?e.user_name:null,extractUsername:e=>e&&e.user_alias?e.user_alias:null,extractAccessToken:e=>e&&e.access_token?e.access_token:null,applyName(e){if(e){const t=e.split(" ")[0];for(const e of document.querySelectorAll(".fp-auth-username-dynamic"))e.textContent=s.sanitize(t);const n=document.querySelector("input#flip_pay_name");n&&(n.value=s.sanitize(e)),document.dispatchEvent(new CustomEvent("heavy:logged-in"))}},applyAccessToken(e){if(e){const t=document.querySelector("input#flip_pay_access_token");t&&(t.value=s.sanitize(e))}},setUser(){const e=s.getUserObject(),t=s.extractName(e);if(t){const n=s.extractAccessToken(e);return n&&s.applyAccessToken(n),document.body.classList.toggle("is-logged-in",!0),s.applyName(t),!0}return!1},saveUsername(e){if("undefined"==typeof UpdateNicknameData)return;if((UpdateNicknameData.nickname??"")===e)return;const t=UpdateNicknameData.nonce??"";e&&t&&fetch("/wp-json/heavy/v1/update-nickname",{headers:{"Content-Type":"application/json","X-WP-Nonce":t},method:"POST",body:JSON.stringify({nickname:e})}).catch(e=>{console.error("There was a problem with saving the username:",e)})},init(){document.querySelector(".has-auth")&&(s.detectUser()||document.body.addEventListener("fp_user_event",()=>{s.detectUser()}))}},o=s,r={init(){const e=document.createElement("div");e.classList.add("c-toast-container"),document.body.appendChild(e),document.addEventListener("heavy:toast",e=>{const{message:t,type:n}=e.detail;r.show(t,n)})},show(e,t=null,n=null){const s=Array.from(document.querySelectorAll(".c-toast")).find(t=>t.innerText===e);if(s)return;const o=document.createElement("div");o.classList.add("c-toast"),null!==t&&o.classList.add(`is-${t}`),null===n&&(n="error"===t?1e4:5e3),o.innerText=e,document.querySelector(".c-toast-container").appendChild(o),setTimeout(()=>o.parentNode.removeChild(o),n)}},a=r,c={interval:250,maxWait:8e3,available(e,t=c.interval,n=c.maxWait){return new Promise((s,o)=>{const r=window.setInterval(()=>{if(this.findVarByName(e))return s(),clearTimeout(a),void clearInterval(r)},t),a=window.setTimeout(function(){clearTimeout(r),o()},n)})},findVarByName(e){let t=0,n=e.split("."),s=window;try{for(;null!=s&&t<n.length;)s=s[n[t++]]}catch(e){}return!(t<n.length||void 0===s&&void 0===s)}},i=c,l=({eventName:e,eventMethod:t="auto",eventId:n=""})=>{if(!e)return;const s=()=>{const s={method:t};n&&(s.id=n),window.gtag("event",e,s)};i.available("gtag").then(()=>{"requestIdleCallback"in window?requestIdleCallback(s):s()}).catch(()=>{console.error("Failed to TrackAnalytics, gtag unavailable.")})},d={init(e,t={}){this.form=e,this.nameInput=this.form.querySelector('[name="name"]'),this.emailInput=this.form.querySelector('[name="email"]'),this.isSubmitting=!1,this.formSubmitButton=this.form.querySelector('[type="submit"]');const{focusInput:n=!0}=t;n&&this.focusNameInput(),this.autoFillData(),this.onFillForm(),this.attachEvents()},async submit(e){const t=this;let n=e?.target,s=!1;if(n||(n=t.form),!n)return s;if(this.isSubmitting)return s;t.setIsSubmitting(!0);const o={name:n.querySelector('[name="name"]')?.value,email:n.querySelector('[name="email"]')?.value,lists:t.getListIdKeys(n),turnstile_token:n.querySelector('[name="cf-turnstile-response"]')?.value||"",flip_pay_access_token:t.getFlipPayAccessToken(),resubscribe:!0};try{let n=await t.postSubscription(o,await t.resolveNonce());if(403===n.status&&await t.isStaleNonceError(n)){heavyApi.nonce="";
1const e=await t.resolveNonce();e&&(n=await t.postSubscription(o,e))}s=this.displayMessage(n),!s&&window.turnstile&&window.turnstile.reset(),setTimeout(()=>{l({eventName:"sign_up",eventId:s?"subscribe-form":"subscribe-form-error",eventMethod:e?"manual":"auto"})},0)}catch(e){this.displayErrorMessage(e),s=!1,window.turnstile&&window.turnstile.reset()}return t.setIsSubmitting(!1),s},async resolveNonce(){if(heavyApi.nonce)return heavyApi.nonce;if(!document.body.classList.contains("is-logged-in")||!heavyApi.ajaxUrl)return"";try{const e=await fetch(heavyApi.ajaxUrl+"?action=heavy_subscribe_nonce",{credentials:"same-origin"}),t=await e.json();return heavyApi.nonce=t?.data?.nonce||"",heavyApi.nonce}catch{return""}},postSubscription(e,t){const n={"Content-Type":"application/json"};return t&&(n["X-WP-Nonce"]=t),fetch(heavyApi.apiUrl+heavyApi.namespace+"/subscribe",{method:"POST",credentials:"same-origin",headers:n,body:JSON.stringify(e)})},async isStaleNonceError(e){try{const t=await e.clone().json();return"rest_cookie_invalid_nonce"===t?.code}catch{return!1}},getListIdKeys(e){const t=e.querySelector('[name="list-api-id"]')?.value||"";return t?[t]:[]},getFlipPayAccessToken(){try{return o.extractAccessToken(o.getUserObject())||""}catch{return""}},attachEvents(){const e=this;e.form.addEventListener("submit",t=>{t.preventDefault(),e.submit(t)})},focusNameInput(){const e=this;e.nameInput&&setTimeout(()=>e.nameInput.focus(),0)},setIsSubmitting(e){const t=this;if(this.isSubmitting=e,!t.form)return;const n=t.form.querySelector(".c-subscribe-form__submit");e?(t.form.classList.add("is-submitting"),n.setAttribute("disabled","disabled")):(t.form.classList.remove("is-submitting"),n.removeAttribute("disabled"))},displayErrorMessage(){const e=this.form.querySelector(".c-subscribe-form__message");e&&(e.classList.remove("is-success"),e.classList.add("is-error"),e.textContent=heavySubscribe.error,a.show(heavySubscribe.error,"error"))},displayMessage(e){const t=this.form.querySelector(".c-subscribe-form__message");if(!t)return!1;const n=201===e.status,s=n?heavySubscribe.success:heavySubscribe.error;return t.classList.remove("is-success"),t.classList.remove("is-error"),t.classList.add(n?"is-success":"is-error"),t.textContent=s,n&&document.dispatchEvent(new CustomEvent("heavy:subscribed")),a.show(s,n?"success":"error"),n},autoFillData(){const e=this,t=document.cookie.split("; ").find(e=>e.startsWith("fp.user="));let n,s,o;if(n=t?JSON.parse(t.substring(8)):null,s=n?.user_name,o=n?.user_email,!s){const e=localStorage.getItem("fp.user");e&&(n=JSON.parse(e),s=n?.user_name,o=n?.user_email)}s&&(e.nameInput.value=s),o&&(e.emailInput.value=o),e.formSubmitButton.disabled=!e.filledInForm()},filledInForm(){return""!==this.emailInput.value},onFillForm(){const e=this;e.emailInput.addEventListener("input",()=>{e.formSubmitButton.disabled=!e.filledInForm()})}},u=(e,t,n)=>{if("function"!=typeof n)return;const s=e=>{e.forEach(e=>{const s="_hasEventHandler_"+t;e[s]||(e.addEventListener(t,n),e[s]=!0)})};s(document.querySelectorAll(e)),document.addEventListener("heavy:overlayOpen",t=>{const{overlay:n}=t.detail;s(n.querySelectorAll(e)??[])}),document.addEventListener("heavy:modalOpen",t=>{const{modal:n}=t.detail;s(n.querySelectorAll(e)??[])})},m=async()=>new Promise(e=>{setTimeout(e,0)}),v={triggerSelector:"[data-overlay-target]",parseAnchorForTemplateAndID(e){const t=e?.match(/^#?([a-z-]+)(?:-(\d+))?$/);let n,s,o=e;return t&&([,o,s]=t,o.startsWith("comment")&&(n=`comment-${s}`)),"comment"===o&&(o="comments-overlay"),{template:o,id:s,focusId:n}},isOverlayTemplate:e=>e instanceof Element&&(!("TEMPLATE"!==e.tagName&&!e.classList.contains("h-template"))||"dynamic"===e.dataset.overlayType&&!!e.querySelector(".h-template")),init(){const e=document.querySelector(v.triggerSelector),t=document.querySelector(".c-overlay");if(!e||!t)return;u(v.triggerSelector+':not([data-overlay-target^="subscribe-form"])',"click",v.show),u(".c-overlay__close","click",v.close);const n=window.location.hash.substring(1);if(!n.startsWith("subscribe-form")){const{template:e}=v.parseAnchorForTemplateAndID(n);v.showOverlay(document.getElementById(e))}window.addEventListener("showOverlay",function(e){e.detail?v.showOverlay(document.getElementById(e.detail)):console.warn('showOverlay event received without detail. Expected format: { detail: "elementId" }')}),document.addEventListener("keydown",e=>{"Escape"===e.key&&v.close()}),document.addEventListener("heavy:modalOpen",v.close)},show(e){const t=e.target.closest("[data-overlay-target]"),n=t.dataset.overlayTarget,s=t.dataset.overlayScrollTo;if(n.startsWith("subscribe-form"))return;if(!n)return;if(window.location.hash.substring(1)===n)return;const o=document.getElementById(n);o&&v.showOverlay(o,t),window.history.replaceState({overlay:!0,overlayScrollTo:s},"",window.location.pathname+"#"+n),s&&v.scrollTo(s)},syncExpanded(e){[...document.querySelectorAll(v.triggerSelector+"[aria-expanded]")].forEac
1h(t=>{const n=Boolean(e)&&t.dataset.overlayTarget===e;t.setAttribute("aria-expanded",String(n))})},showOverlay(e,t){const n=document.querySelector(".c-overlay");if(!n||!v.isOverlayTemplate(e))return;let s=document.querySelector(".c-overlay__background"),o=e.dataset.overlayRender;const r=e.dataset.overlayType;if(!s){const e=document.createElement("div");e.classList.add("c-overlay__background"),n.before(e),s=document.querySelector(".c-overlay__background")}document.documentElement.classList.add("is-overlay-open"),v.syncExpanded(e.id),v.removeOverlay(n),n.classList.add("is-active"),o&&(o=o.replace(/[^a-z0-9-_]/g,""),n.classList.add(`is-${o}`)),setTimeout(()=>{let t;t="dynamic"===r?e.querySelector(".h-template"):e.content?e.content.cloneNode(!0):e.cloneNode(!0),document.body.classList.contains("home")&&(t.id=e.getAttribute("id")?`${e.id}-overlay`:null);let s=null;const{focusId:o}=v.parseAnchorForTemplateAndID(window.location.hash.substring(1));if(o){const e=`#${o}`,n=t.querySelector(e);n&&(n.classList.add("c-alert--focused"),s=e)}let a,c;n.appendChild(t);const i=n.querySelector(".c-overlay__header");i.addEventListener("touchstart",function(e){a=e.touches[0].clientY},{passive:!0}),i.addEventListener("touchmove",function(e){const t=e.touches[0].clientY;c=a-t},{passive:!0}),i.addEventListener("touchend",function(){c<-25&&v.close()}),n.scrollTop=0;const l=n.querySelector(".js-overlay__close");l&&l.addEventListener("click",v.close);const d=new CustomEvent("heavy:overlayOpen",{detail:{overlay:n}});document.dispatchEvent(d),s&&v.scrollTo(s)},0),s.addEventListener("click",v.close),setTimeout(()=>{l({eventName:"overlay_open",eventId:e.id,eventMethod:t?"click":"auto"})},0)},close(){const e=document.querySelector(".c-overlay"),t=document.querySelector(".js-overlay__close");if(document.documentElement.classList.remove("is-overlay-open"),v.syncExpanded(null),!e||!t||!e.classList.contains("is-active"))return;const n=document.querySelector(".c-overlay__background");e.classList.remove("is-active"),e.classList.forEach(t=>{t.startsWith("is-")&&e.classList.remove(t)}),t.removeEventListener("click",v.close),n.removeEventListener("click",v.close),window.history.replaceState({overlay:!1},"",window.location.pathname)},removeOverlay(e){let t;e&&(e.firstChild?.dataset?.parent&&(t=document.getElementById(e.firstChild?.dataset.parent)),t&&t.append(...e.childNodes),e.innerHTML="")},scrollTo(e){if(!e)return;const t=document.querySelector(e),n=document.querySelector(".c-overlay"),s=n.querySelector(".c-overlay__header");t&&(t.scrollIntoView(),n.scrollBy(0,-s.offsetHeight))}},y=v;class h extends e{static slug="subscribe";static formSelector=".c-subscribe-form__form";async run(){const e=window.location.hash.substring(1);let t=document.getElementById(e);const n=e.startsWith("subscribe-form");if(!t&&n&&(t=document.querySelector(w.modalsSelector)),!t)return;const s=t.querySelector(h.formSelector);s&&(d.init(s),d.autoFillData(),await d.submit()||(n?w.show({modal:t}):y.showOverlay(t)))}}const p=h,g={intentField:"heavy-intent",intentDataField:"heavy-intent-data",intentFetchCounter:"heavy-intent-fetch-counter",maxIntentPageLoads:6,init(){g.setIntentListeners(),g.expireStaleIntent(),document.addEventListener("heavy:logged-in",()=>{g.runIntent()})},setIntentListeners(){document.querySelectorAll("[data-intent]").forEach(e=>{e.addEventListener("click",()=>{let t=e.dataset.intent;t=t.replace(/[^a-z-]/g,""),t&&(g.setIntent(t),g.setIntentData(g.getIntentObject(t)?.getState?.()??""))})})},runIntent(){const e=g.getIntent()??"";if(!e)return;const t=g.getIntentData();g.getIntentObject(e)?.run(t),setTimeout(()=>{l({eventName:"login",eventMethod:e})},0),g.clearIntent()},clearIntent(){localStorage.removeItem(g.intentField),localStorage.removeItem(g.intentDataField),localStorage.removeItem(g.intentFetchCounter)},expireStaleIntent(){if(!g.getIntent())return;const e=parseInt(localStorage.getItem(g.intentFetchCounter)||"0",10)+1;e>g.maxIntentPageLoads?g.clearIntent():localStorage.setItem(g.intentFetchCounter,String(e))},getIntentObject(e){switch(e){case"comment":return new t;case"subscribe":return new p;case"contest":return new n;case"login":case"adfree":break;default:console.error("Unknown intent:",e)}},isPending:e=>g.getIntent()===e.slug,getIntent:()=>localStorage.getItem(g.intentField)??"",setIntent(e){localStorage.setItem(g.intentField,e),localStorage.removeItem(g.intentFetchCounter)},getIntentData:()=>JSON.parse(localStorage.getItem(g.intentDataField)??"{}"),setIntentData(e){localStorage.setItem(g.intentDataField,JSON.stringify(e))}},f=g;let b=null;const S={triggerSelector:'[data-overlay-target^="subscribe-form"]',modalsSelector:".c-subscribe-form",overlaySelector:".c-subscribe-form__overlay",init(){if(!document.querySelector(S.modalsSelector))return;const e=window.location.hash.substring(1);if(e.startsWith("subscribe-form")&&!f.isPending(p)){const t=document.getElementById(e)||document.querySelector(S.modalsSelector);S.show({modal:t})}u(S.triggerSelector,"click",S.handleTriggerClick),setTimeout(()=>{const e=document.querySelectorAll(S.triggerSelector);requestAnimationFrame(()=>
1{e.forEach(e=>{e.classList.add("is-enabled")})})},0)},handleTriggerClick(e){const t=e.target.closest(".c-subscribe-modal__trigger");if(!t)return;const n=t.getAttribute("data-overlay-target")||"subscribe-form",s={modal:document.getElementById(n)||document.querySelector(S.modalsSelector),event:e};S.show(s)},async show({modal:e,event:t=null}){const n=this;if(!e)return;document.documentElement.classList.add("is-critical-overlay-open"),e.classList.add("is-active"),async function(e){if(e&&e.dataset.sitekey&&!e.dataset.turnstileRendered)try{await(window.turnstile?Promise.resolve():(b||(b=new Promise((e,t)=>{const n=document.createElement("script");n.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",n.async=!0,n.defer=!0,n.addEventListener("load",()=>e()),n.addEventListener("error",e=>{b=null,n.remove(),t(e)}),document.head.appendChild(n)})),b)),window.turnstile.render(e,{sitekey:e.dataset.sitekey,size:e.dataset.size||void 0}),e.dataset.turnstileRendered="true"}catch{}}(e.querySelector(".cf-turnstile")),n.modal=e,n.overlay=e.querySelector(S.overlaySelector),n.closeTrigger=e.querySelector(".l-drawer__close"),n.formSubmitButton=e.querySelector(".c-subscribe-form__submit"),n.attachEvents(),await m(),window.history.replaceState({overlay:!0},"",window.location.pathname+"#"+e.id);const s=new CustomEvent("heavy:modalOpen",{detail:{isModalOpen:!0,modal:e}});document.dispatchEvent(s),setTimeout(()=>{l({eventName:"overlay_open",eventId:"subscribe-form",eventMethod:t?"click":"auto"})},0)},async close(){const e=this;e.modal&&(document.documentElement.classList.remove("is-critical-overlay-open"),e.modal.classList.remove("is-active"),await m(),e.countDown&&(clearTimeout(e.countDown),e.countDown=null),e.detachEvents(),window.history.replaceState({overlay:!1},"",window.location.pathname))},attachEvents(){const e=this;e.boundClose=e.close.bind(e),e.boundKeyUp=function(t){"Escape"===t.key&&e.close()},e.closeTrigger.addEventListener("click",e.boundClose),e.overlay.addEventListener("click",e.boundClose),document.addEventListener("heavy:subscribed",e.initCountDown.bind(e)),document.addEventListener("keyup",e.boundKeyUp)},detachEvents(){const e=this;e.closeTrigger.removeEventListener("click",e.boundClose),e.overlay.removeEventListener("click",e.boundClose),document.removeEventListener("keyup",e.boundKeyUp)},attachTriggerEvents(e){const t=this,n=e.detail.overlay.querySelector(".c-subscribe-modal__trigger");n&&n.addEventListener("click",()=>t.show())},initCountDown(){const e=this;e.countDown=setTimeout(()=>e.close(),3e3)}},w=S;async function E(){setTimeout(()=>w.init(),0)}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",E):E()})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.