PageSourceSearch

https://nutridome.pl/cdn/shop/t/138/assets/juo-cart.js?v=129739378032126002941786531054

js nutridome.pl collected 2026-09-25 18:42:41 UTC 3,935 bytes, 2 lines download raw bytes

1(function(){const l={checkbox:".juo-subscribe-cart__selling-plans-checkbox",select:".juo-subscribe-cart__selling-plan-switcher--select"};function initEventListeners(){document.removeEventListener("click",handleClick),document.removeEventListener("change",handleChange),document.addEventListener("click",handleClick),document.addEventListener("change",handleChange)}async function handleClick(s){if(s.target&&s.target.matches(l.checkbox)){const t=s.target;if(t.checked){const c=t.dataset.variantId,n=document.querySelector(`select[data-variant-id="${c}"]`);await u(t.dataset.variantId,n.value,t.closest(".juo-subscribe-switcher"))}else await y(t.dataset.variantId,t.closest(".juo-subscribe-switcher"))}}async function handleChange(s){if(s.target&&s.target.matches(l.select)){const t=s.target;await u(t.dataset.variantId,t.value,t.closest(".juo-subscribe-switcher"))}}async function u(s,e,t){if(e==null)return;const cartItem=t&&t.closest("[data-cart-item]"),loadbar=cartItem&&cartItem.querySelector("[data-item-loadbar]");loadbar&&(loadbar.style.display="block"),t&&t.classList.add("loading");const n=t&&t.querySelector(".pill-loader");n&&n.setAttribute("aria-busy","true");const c=window.Shopify.routes.root??"/";try{const cartData=await(await fetch(c+"cart.js")).json();for(const o of cartData.items)if(String(o.variant_id)===s){const updateResponse=await fetch(c+"cart/change.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({id:o.key,quantity:o.quantity,selling_plan:e,properties:{...o.properties,_juo_subscribe_cart:e,_juo_source:"subscribe-cart"}})});if(!updateResponse.ok)throw new Error(`Failed to update cart: ${updateResponse.status}`);const updateData=await updateResponse.json()}}catch(error){console.error("Error updating cart:",error);const checkbox=t&&t.querySelector(l.checkbox);checkbox&&(checkbox.checked=!checkbox.checked)}finally{loadbar&&(loadbar.style.display="none"),t&&t.classList.remove("loading");const i=t&&t.querySelector(l.select);i&&i.classList.remove("hidden");const o=t&&t.querySelector(".pill-loader");o&&o.removeAttribute("aria-busy"),document.dispatchEvent(new Event("theme:cart:reload"))}}async function y(s,e){if(s==null)return;const cartItem=e&&e.closest("[data-cart-item]"),loadbar=cartItem&&cartItem.querySelector("[data-item-loadbar]");loadbar&&(loadbar.style.display="block"),e&&e.classList.add("loading");const c=e&&e.querySelector(".pill-loader");c&&c.setAttribute("aria-busy","true");const t=window.Shopify.routes.root??"/";try{const cartData=await(await fetch(t+"cart.js")).json();for(const i of cartData.items)if(String(i.variant_id)===s){const updateResponse=await fetch(t+"cart/change.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({id:i.key,quantity:i.quantity,selling_plan:null,properties:{...i.properties,_juo_subscribe_cart:null}})});if(!updateResponse.ok)throw new Error(`Failed to update cart: ${updateResponse.status}`);const updateData=await updateResponse.json()}}catch(error){console.error("Error updating cart:",error);const checkbox=e&&e.querySelector(l.checkbox);checkbox&&(checkbox.checked=!checkbox.checked)}finally{loadbar&&(loadbar.style.display="none"),e&&e.classList.remove("loading");const n=e&&e.querySelector(l.select);n&&n.classList.add("hidden");const i=e&&e.querySelector(".pill-loader");i&&i.removeAttribute("aria-busy"),document.dispatchEvent(new Event("theme:cart:reload"))}}function d(){window.Shopify&&(document.readyState==="complete"||document.readyState==="interactive"?initEventListeners():document.addEventListener("DOMContentLoaded",initEventListeners))}document.addEventListener("theme:cart:reload",function(){setTimeout(initEventListeners,100)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",d):d()})();
2//# sourceMappingURL=/cdn/shop/t/138/assets/juo-cart.js.map?v=129739378032126002941786531054

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.