PageSourceSearch

https://nobullproject.com/cdn/shop/t/1087/assets/footer.js?v=176992147331786843461788324623

js nobullproject.com collected 2026-09-24 17:19:27 UTC 3,669 bytes, 2 lines download raw bytes

1document.addEventListener("DOMContentLoaded",()=>{const forms=document.querySelectorAll(".nobull-footer #footer-newsletter, .footer-newsletter-card__form");function validateInput(input,errorMessage,message){return!input||!input.checkValidity()||input.value.trim()===""?(errorMessage&&(errorMessage.textContent=message,errorMessage.classList.remove("hidden")),!1):(errorMessage&&errorMessage.classList.add("hidden"),!0)}forms.forEach(form=>{form.addEventListener("submit",async event=>{event.preventDefault(),event.stopImmediatePropagation();const emailInput=form.querySelector('input[type="email"]'),inputGroup=form.querySelector(".footer-newsletter-input-group, .footer-newsletter-card__input-group"),footerFormBtn=form.querySelector(".footer-column--news-btn-icon, .footer-newsletter-card__submit"),agreeText=form.querySelector(".footer-column--news-agree-text, .footer-newsletter-card__agree-text"),emailErrorMessage=form.querySelector(".error-message-email, .footer-newsletter-card__error"),thankYouMessage=form.querySelector(".thankyou-message, .footer-newsletter-card__success"),emersysApiURL=form.querySelector("#EmarsysAPIURL")?.value||document.querySelector("#EmarsysAPIURL")?.value;if(validateInput(emailInput,emailErrorMessage,"Please enter a valid email address."))try{if(window.analytics&&typeof window.analytics.identify=="function"&&window.analytics.identify({email:emailInput.value}),window.analytics&&typeof window.analytics.track=="function"&&window.analytics.track("Newsletter Subscribed",{form_type:"newsletter",form_location:"footer",email:emailInput.value,opt_in_source:"website",opt_source_detail:"footer",form_details:[{field:"email",value:emailInput.value},{field:"opt_in_source",value:"website"},{field:"opt_source_detail",value:"footer"},{field:"form_type",value:"newsletter"},{field:"email",value:emailInput.value}]}),emersysApiURL){const options={method:"POST",headers:{"Content-Type":"application/json","api-key":"eabfeb7d-5a60-4a7f-b151-c7715be9e1f8"},body:JSON.stringify({email:emailInput.value,firstname:"",lastname:"",shopify_opt:"1",opt_in_source:"website",opt_source_detail:"footer"})};if((await fetch(`${emersysApiURL}/create-contact`,options)).ok)emailInput&&emailInput.classList.add("hidden"),inputGroup&&inputGroup.classList.add("hidden"),footerFormBtn&&footerFormBtn.classList.add("hidden"),agreeText&&agreeText.classList.add("hidden"),thankYouMessage&&(thankYouMessage.classList.remove("hidden"),thankYouMessage.classList.add("flex"),thankYouMessage.style.display="block"),emailErrorMessage&&emailErrorMessage.classList.add("hidden");else throw new Error("Network error occurred")}else emailInput&&emailInput.classList.add("hidden"),inputGroup&&inputGroup.classList.add("hidden"),footerFormBtn&&footerFormBtn.classList.add("hidden"),agreeText&&agreeText.classList.add("hidden"),thankYouMessage&&(thankYouMessage.classList.remove("hidden"),thankYouMessage.classList.add("flex"),thankYouMessage.style.display="block"),emailErrorMessage&&emailErrorMessage.classList.add("hidden")}catch{emailErrorMessage&&(emailErrorMessage.textContent="An error occurred. Please try again.",emailErrorMessage.classList.remove("hidden"))}})});const footerColumns=document.querySelectorAll(".footer-column--nav");footerColumns.forEach(column=>{column.querySelector(".footer-column--nav-header").addEventListener("click",()=>{const isActive=column.classList.contains("active");footerColumns.forEach(otherColumn=>{otherColumn!==column&&otherColumn.classList.remove("active")}),isActive?column.classList.remove("active"):column.classList.add("active")})})});
2//# sourceMappingURL=/cdn/shop/t/1087/assets/footer.js.map?v=176992147331786843461788324623

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.