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