"use strict";(()=>{var I=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e)},N=(e,n)=>{I({event:"view_cart",ecommerce:{currency:"PLN",value:n,items:e.map(v)}})};var j=e=>{I({event:"add_to_cart",ecommerce:{currency:"PLN",value:e.price*e.quantity,items:[v(e)]}})},O=e=>{I({event:"remove_from_cart",ecommerce:{currency:"PLN",value:e.price*e.quantity,items:[v(e)]}})},v=e=>({item_id:e.id,item_name:e.name,affiliation:"Google Merchandise Store",price:e.price,quantity:e.quantity});var E=null;function b(e,n,r){let t=document.querySelector(".dialog_component");if(!t)return;let c=t.querySelector('[flip-cart="dialog-info"]'),o=t.querySelector('[flip-cart="dialog-success"]'),i=t.querySelector('[flip-cart="dialog-warning"]'),s=t.querySelector('[flip-cart="dialog-error"]'),u=t.querySelector('[flip-cart="dialog-cart-empty"]');[c,o,i,s,u].forEach(p=>{p&&(p.style.display="none")});let a=null;switch(e){case"success":a=o;break;case"warning":a=i;break;case"error":a=s;break;case"cart-empty":a=u;break;default:a=c}if(a){let p=a.querySelector('[flip-cart="dialog-text"]');p&&(p.textContent=n),a.style.display="flex"}E=null,r?.redirectTo&&(E=()=>{window.location.href=r.redirectTo}),r?.onClose&&(E=r.onClose),t.open||t.showModal();let l=()=>{if(t.close(),E){let p=E;E=null,p()}},d=t.querySelector(".dialog_modal_close");d&&(d.onclick=l);let w=t.querySelector(".dialog_overlay");w&&(w.onclick=l),t.onclose=()=>{if(E){let p=E;E=null,p()}}}function R(){window.location.pathname.includes("zamow-probki")&&document.querySelectorAll(".sample-wrapper").forEach(n=>{n.addEventListener("click",async()=>{let r=n.querySelector('form[data-node-type="commerce-add-to-cart-form"]');if(!r)return;let t=r.getAttribute("data-commerce-sku-id"),c=r.getAttribute("data-commerce-product-id"),o=n.querySelector(".text-weight-bold")?.textContent?.trim()||"";if(!t||!c||!o){console.error("Brak danych produktu w pr\xF3bce.");return}try{let s=(await S()).find(u=>u.name.trim()===o);if(s)await H(s.id),M(n);else{C(n);let a=await(await fetch("https://hook.eu2.make.com/kr1cnajv95yw1vhqtchs7u5zvixffyuv",{method:"POST",body:JSON.stringify({productId:c,quantity:1,skuId:t})})).json(),l=a[0].fieldData,d={id:a[0].id,name:l.name,price:l.price.value/100,quantity:a[0].quantity,imageUrl:l["main-image"]?.url,weight:l.weight,length:l.length,sku:l.sku,slug:l.slug,dimensions:a[0].wymiary,realWeight:a[0].waga?Number(a[0].waga.replace(",",".")):0,categories:a[0].kategorie};await x(d)}}catch(i){console.error("B\u0142\u0105d przy klikni\u0119ciu pr\xF3bki:",i)}})})}function C(e){e.style.backgroundColor="green"}function U(e){return!!e.querySelector('[flip-cart="product-name"]')?.textContent?.trim().startsWith("Pr\xF3bka")}function F(){document.querySelectorAll('[flip-cart="product-wrapper"]').forEach(n=>{if(!U(n))return;let r=n.querySelector(".quantity-component"),t=n.querySelector('input[flip-cart="product-quantity-input"]'),c=n.querySelector('[flip-cart="product-quantity-minus"]'),o=n.querySelector('[flip-cart="product-quantity-plus"]');!r||!t||!c||!o||(t.value="1",t.min="1",t.disabled=!0,c.disabled=!0,o.disabled=!0,r.classList.add("is-disabled"),typeof window.tippy=="function"&&window.tippy(r,{content:"Dla pr\xF3bek obowi\u0105zuje limit 1 sztuki na zam\xF3wienie.",placement:"top",theme:"light-border"}))})}function M(e){e.style.backgroundColor="var(--background-color--background-product)"}var _=document.querySelector('[flip-cart="cart-button-nav-old"]'),W=document.querySelector('[flip-cart="cart-button-nav-new"]'),k=null,A=100,Q=["66af5ed1a3e61b31d42650d7","66a269cf3d6464d10e4e2381"],$=!1;function P(){document.dispatchEvent(new CustomEvent("cart:updated"))}function J(e){let n=e.reduce((s,u)=>s+u.price*u.quantity,0),r=e.every(s=>s.categories.some(u=>Q.includes(u))),t=e.some(s=>s.length>100),c=r&&!t,o=n>=A;return{isEligible:c&&o,total:n,remaining:Math.max(0,A-n),meetsItemRules:c,hasOnlyAllowedCategories:r,hasLongItems:t,meetsPriceRule:o}}async function S(){try{let n=await(await fetch("https://koszyk.deckline.pl/api/cart",{credentials:"include"})).json();if(!Array.isArray(n))throw new Error("Received data is not an array");return n}catch(e){return console.error("Failed to fetch cart items:",e),[]}}async function q(){try{let e=m=>m.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2}),n=document.querySelector('[flip-cart="state-default"]'),r=document.querySelector('[flip-cart="state-empty"]'),t=await S(),c=t.reduce((m,h)=>m+h.price*h.quantity,0),o=document.querySelector('[flip-cart="cart-total"]');if(window.location.pathname==="/koszyk"&&c===0){b("error","Tw\xF3j koszyk jest pusty. Przenosimy Ci\u0119 do sklepu.",{onClose:()=>{window.location.href="/sklep"}});return}let i=document.querySelectorAll('[flip-cart="cart-quantity"]'),s=t.reduce((m,h)=>m+h.quantity,0);o&&(o.textContent=`${e(c)} z\u0142`),i.forEach(m=>{m.textContent=s.toString()}),window.location.pathname==="/koszyk"&&(N(t,c),_&&W&&(_.remove(),W.remove()));let a=document.querySelector('[flip-cart="free-delivery-block-wrapper"]'),l=document.querySelector('[flip-cart="free-delivery-text"]'),d=document.querySelector('[flip-cart="free-delivery-progress"]'),{isEligible:w,remaining:p,total:L,meetsItemRules:g,meetsPriceRule:f}=J(t);if(a&&l&&d){a.classList.remove("hide"),w?(l.textContent="DARMOWA DOSTAWA!",a.classList.add("is-free"),l.style.color="#3b863d"):g?f||(l.textContent=`Brakuje ${p.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2})} z\u0142 do bezp\u0142atnej dostawy`,a.classList.remove("is-free"),l.style.color="#b14e63"):(l.textContent="Darmowa dostawa niedost\u0119pna",a.classList.remove("is-free"),l.style.color="#b14e63");let m=g?Math.min(L/A*100,100):0;d.style.width=`${m}%`}n&&r&&(t.length>0?(n.style.display="block",r.style.display="none"):(n.style.display="none",r.style.display="flex")),Y(t),document.querySelectorAll(".sample-wrapper").forEach(m=>{let h=m.querySelector(".text-weight-bold")?.textContent?.trim();if(!h)return;t.some(T=>T.name.trim()===h.trim())?C(m):M(m)})}catch(e){console.error("Failed to update cart UI:",e)}}function G(){document.addEventListener("click",e=>{let r=e.target.closest("button[flip-cart]");if(!r)return;let t=r.getAttribute("flip-cart");if(t!=="product-quantity-plus"&&t!=="product-quantity-minus")return;e.preventDefault();let c=r.closest(".quantity-component");if(!c)return;let o=c.querySelector('input[flip-cart="product-quantity-input"], input[flip-cart="cart-quantity-input"], input[flip-cart="cart-product-quantity"]');if(!o){console.error("Nie znalaz\u0142em inputa.");return}let i=o.min?parseInt(o.min,10):1,s=o.max?parseInt(o.max,10):1/0,u=o.step?parseInt(o.step,10):1,a=parseInt(o.value||"1",10);t==="product-quantity-plus"&&(a=Math.min(a+u,s)),t==="product-quantity-minus"&&(a=Math.max(a-u,i)),o.value=String(a),o.dispatchEvent(new Event("input",{bubbles:!0})),o.dispatchEvent(new Event("change",{bubbles:!0}))})}function V(){document.addEventListener("click",async e=>{let r=e.target.closest('[flip-cart="add-to-cart"]');if(!r)return;e.preventDefault();let t=r.querySelector('[flip-cart="add-to-cart-label"]');if(!t)return;let c=t.textContent?.trim()||"DO KOSZYKA",o=g=>{t.textContent=g},i=()=>{o(c),r.removeAttribute("aria-busy"),r.style.pointerEvents=""};o("Dodawanie\u2026"),r.setAttribute("aria-busy","true"),r.style.pointerEvents="none";let s=r.closest('[flip-cart="product-upsell"]')||r.closest('[flip-cart="product-wrapper"]');if(!s){console.error("Product element not found");return}let u=s.querySelector("form")?.getAttribute("data-commerce-product-id")||"",a=s.querySelector('form select[data-node-type="commerce-add-to-cart-option-select"]');if(a&&a.value===""){b("error","Prosz\u0119 wybra\u0107 opcj\u0119 przed dodaniem produktu do koszyka."),i();return}let l=null,d=s.querySelector('form div[data-node-type="commerce-add-to-cart-pill-group"]');d&&(l=d.querySelector('form div[aria-checked="true"]'));let w=s.querySelector('input[flip-cart="product-quantity-input"]'),p=w?parseInt(w.value):1,L=a?a.value:l?.getAttribute("data-option-id")??null;L||(L=s.querySelector("form")?.getAttribute("data-commerce-sku-id")||"");try{let f=await(await fetch("https://hook.eu2.make.com/kr1cnajv95yw1vhqtchs7u5zvixffyuv",{method:"POST",body:JSON.stringify({productId:u,quantity:p,skuId:L})})).json(),y=f[0].fieldData,m={id:f[0].id,name:y.name,price:y.price.value/100,quantity:f[0].quantity,imageUrl:y["main-image"]?.url,weight:y.weight,length:y.length,sku:y.sku,slug:y.slug,dimensions:f[0].wymiary,realWeight:f[0].waga?Number(f[0].waga.replace(",",".")):0,categories:f[0].kategorie},h=m.name;if(h.startsWith("Pr\xF3bka")){let B=await S(),T=h.replace("Pr\xF3bka ","").trim();if(B.find(D=>D.name.startsWith("Pr\xF3bka")&&D.name.includes(T))){b("error","Masz ju\u017C jedn\u0105 tak\u0105 pr\xF3bk\u0119 w koszyku."),setTimeout(()=>{i()},1500);return}}await x(m),o("Dodano \u2713"),setTimeout(()=>{i()},1500)}catch(g){console.error("Error getting selected item:",g),i()}})}async function x(e){try{let n=await fetch("https://koszyk.deckline.pl/api/cart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"});if(!n.ok)throw new Error(`Failed to add item to cart: ${n.statusText}`);j(e),await q(),P(),_?.click()}catch(n){console.error("Failed to add item to cart:",n)}}async function H(e){try{let r=(await S()).find(t=>t.id===e);await fetch(`https://koszyk.deckline.pl/api/cart/${e}`,{method:"DELETE",credentials:"include"}),r&&O(r),await q(),P()}catch(n){console.error("Failed to remove item from cart:",n)}}async function K(e,n){try{await fetch(`https://koszyk.deckline.pl/api/cart/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({quantity:n}),credentials:"include"}),await q(),P()}catch(r){console.error("Failed to update item quantity:",r)}}function Y(e){let n=document.querySelectorAll('[flip-cart="cart-product-list"]');if(!n)return;if(!k){let t=n[0].querySelector('[flip-cart="cart-product-item"]');if(!t)return;k=t.cloneNode(!0),t.remove()}n.forEach(t=>{t.innerHTML=""});let r=t=>t.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2});e.forEach(t=>{if(!k)return;let c=t.name.startsWith("Pr\xF3bka");n.forEach(o=>{let i=k?.cloneNode(!0),s=i.querySelector('[flip-cart="cart-product-image"]');s&&(s.src=t.imageUrl,s.alt=t.name);let u=i.querySelector('[flip-cart="cart-product-name"]');u&&(u.textContent=t.name,u.href=`/product/${t.slug}`);let a=i.querySelector('[flip-cart="cart-product-price"]');a&&(a.textContent=`${r(t.price*t.quantity)} z\u0142`);let l=i.querySelector('[flip-cart="cart-product-price-pcs"]');l&&(l.textContent=`${r(t.price)} z\u0142`);let d=i.querySelector('[flip-cart="cart-product-quantity"]'),w=i.querySelector('[flip-cart="cart-product-quantity-label"]'),p=i.querySelector('[flip-cart="product-quantity-minus"]'),L=i.querySelector('[flip-cart="product-quantity-plus"]'),g=i.querySelector(".quantity-component");if(d&&p&&L&&g){d.value=String(c?1:t.quantity),c&&(d.min="1");let y=c||$;d.disabled=y,p.disabled=y,L.disabled=y,y&&g.classList.add("is-disabled"),c&&typeof window.tippy=="function"&&window.tippy(w,{content:"Dla pr\xF3bek obowi\u0105zuje limit 1 sztuki na zam\xF3wienie.",placement:"top",theme:"light-border"}),y||d.addEventListener("change",async()=>{let m=Number(d.value);m>0&&await K(t.id,m)})}let f=i.querySelector('[flip-cart="cart-product-delete"]');f&&($?f.remove():f.addEventListener("click",async()=>{await H(t.id)})),o.prepend(i)})})}function Z(){document.addEventListener("click",async e=>{let r=e.target.closest('a[flip-cart="cart-button-cart"], a[flip-cart="cart-button-nav-new"]');if(r){e.preventDefault();try{if((await S()).reduce((o,i)=>o+i.price*i.quantity,0)<2){b("error","Minimalna warto\u015B\u0107 zam\xF3wienia to 2,00 z\u0142.");return}window.location.href=r.href}catch(t){console.error("B\u0142\u0105d przy sprawdzaniu koszyka:",t),b("error","Nie uda\u0142o si\u0119 sprawdzi\u0107 koszyka. Spr\xF3buj ponownie.")}}})}async function z(){await q(),G(),F(),V(),R(),Z()}var X=async()=>{window.Webflow||(window.Webflow=[]),window.Webflow.push(async()=>{if(window.isWebflowInitialized)return;window.isWebflowInitialized=!0;let e=new URLSearchParams(window.location.search);try{let n=e.get("redirect_status")??"",r=e.get("payment_intent")??"",t=localStorage.getItem("payment_intent")??"";n==="succeeded"?r!==t?(localStorage.setItem("payment_intent",r),setTimeout(()=>{window.location.reload()},2e3)):await z():await z()}catch(n){console.error("B\u0142\u0105d podczas obs\u0142ugi Webflow:",n)}})};X();})();