PageSourceSearch

https://dedoles.hr/cdn/shop/t/160/assets/newsletter.js?v=65378382654625174131768576246

js dedoles.hr collected 2026-10-05 08:36:06 UTC 4,477 bytes, 2 lines download raw bytes

1class NewsletterForm extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.emailInput=this.querySelector('input[type="email"]'),this.genderButtons=this.querySelectorAll(".gender-selection .button"),this.genderTag=this.querySelector("#gender-tag"),this.formFields=this.querySelector(".newsletter-form__field-wrapper"),this.errorContainer=this.querySelector(".newsletter-form__error"),this.successContainer=this.querySelector(".newsletter-form__success"),this.init()}init(){this.genderButtons.length>0&&this.genderButtons.forEach(button=>{button.addEventListener("click",this.handleGenderSelect.bind(this))}),this.emailInput&&this.emailInput.addEventListener("input",()=>{this.hideError()})}handleGenderSelect(event){if(this.genderButtons.forEach(btn=>btn.classList.remove("selected")),event.currentTarget.classList.add("selected"),this.genderTag){this.genderTag.value=event.currentTarget.getAttribute("data-gender");const gender=event.target.dataset.gender;this.genderTag.value=gender,this.handleSubmit(this.genderTag.value)}}async handleSubmit(gender){if(this.hideError(),!this.emailInput||!this.emailInput.value){const error_empty=window.newsletter.error_empty;this.showError(error_empty),this.emailInput.focus();return}if(!this.validateEmail(this.emailInput.value)){const email=this.emailInput.value;if(email.includes("@")){const error_empty=window.newsletter.error_empty;this.showError(error_empty)}else{const error_format=window.newsletter.error_format?.replace("{email}",email);this.showError(error_format)}this.emailInput.focus();return}try{this.trackBloomreachConsentAsync(this.emailInput.value,gender),this.showSuccess()}catch(error){const genericError=window.newsletter.generic_error;this.showError(genericError),console.error("Error during tracking:",error)}}showError(message){this.errorContainer&&(this.errorContainer.textContent=message,this.errorContainer.classList.remove("hidden"),this.emailInput&&this.emailInput.classList.add("has-error"))}hideError(){this.errorContainer&&(this.errorContainer.classList.add("hidden"),this.emailInput&&this.emailInput.classList.remove("has-error"))}showSuccess(){this.formFields&&this.formFields.classList.add("hidden"),this.successContainer&&this.successContainer.classList.remove("hidden")}validateEmail(email){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)}trackBloomreachConsentAsync(email,gender){return new Promise((resolve,reject)=>{try{if(window.exponea&&typeof window.exponea.track=="function"){const userAgent=navigator.userAgent,browserInfo=this.getBrowserInfo(userAgent),payload={location:window.location.href,os:browserInfo.os,browser:browserInfo.browser,device:browserInfo.device,action:"new",source:"public_api",message:"pre-consent: footer",email,gender_selection:gender,consent_list:[{action:"accept",message:"pre-consent: footer",valid_until:"unlimited",category:"email"},{action:"accept",message:"pre-consent: footer",valid_until:"unlimited",category:"sms"},{action:"accept",message:"pre-consent: footer",valid_until:"unlimited",category:"push_notifications"},{action:"accept",message:"pre-consent: footer",valid_until:"unlimited",category:"marketing_purposes"}]};console.log("Bloomreach pre-consent event tracking for email:",email),typeof window.exponeaTrackSafe=="function"?window.exponeaTrackSafe("pre-consent",payload):window.exponea.track("pre-consent",payload),resolve()}else console.warn("Exponea tracking not available"),resolve()}catch(error){console.error("Error during tracking:",error),reject(error)}})}getBrowserInfo(userAgent){let os="Unknown",browser="Unknown",device="Other";return/Windows/i.test(userAgent)?os="Windows":/Macintosh|Mac OS X/i.test(userAgent)?os="Mac OS X":/Linux/i.test(userAgent)?os="Linux":/Android/i.test(userAgent)?os="Android":/iPhone|iPad|iPod/i.test(userAgent)&&(os="iOS"),/Chrome/i.test(userAgent)&&!/Chromium|Edge|Edg|OPR|Opera/i.test(userAgent)?browser="Chrome":/Firefox/i.test(userAgent)?browser="Firefox":/Safari/i.test(userAgent)&&!/Chrome|Chromium|Edge|Edg|OPR|Opera/i.test(userAgent)?browser="Safari":/Edge|Edg/i.test(userAgent)?browser="Edge":/Opera|OPR/i.test(userAgent)&&(browser="Opera"),/Mobi|Android|iPhone|iPad|iPod/i.test(userAgent)?/iPad/i.test(userAgent)?device="Tablet":device="Mobile":/Tablet/i.test(userAgent)?device="Tablet":device="Desktop",{os,browser,device}}}customElements.define("newsletter-form",NewsletterForm);
2//# sourceMappingURL=/cdn/shop/t/160/assets/newsletter.js.map?v=65378382654625174131768576246

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.