1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,308921,e=>{"use strict";var t=e.i(843476),r=e.i(618566),a=e.i(271645),s=e.i(37727);let l=(0,e.i(475254).default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var i=e.i(664659),n=e.i(655900),o=e.i(975157),c=e.i(31531);function d({categories:e,brands:i=[],colors:n=[],currentCategory:d,className:h}){let x=(0,r.useRouter)(),g=(0,r.useSearchParams)(),[m,p]=(0,a.useState)(new Set(["categories"])),b=d||"",f=g.get("marka")||"",y=g.get("kolor")||"",j=e=>{p(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},w=(0,a.useCallback)(e=>{e?x.push((0,c.getCategoryUrl)(e)):x.push("/sklep-biegacza")},[x]),v=(0,a.useCallback)((e,t)=>{let r=new URLSearchParams(g.toString());t?r.set(e,t):r.delete(e),r.delete("strona");let a=r.toString(),s=b?`/sklep-biegacza/${b}`:"/sklep-biegacza";x.push(a?`${s}?${a}`:s)},[x,g,b]),N=b||f||y,k=e.filter(e=>!e.parent);return(0,t.jsxs)("aside",{className:(0,o.cn)("space-y-6",h),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("h2",{className:"font-semibold text-lg flex items-center gap-2",children:[(0,t.jsx)(l,{className:"w-5 h-5"}),"Filtry"]}),N&&(0,t.jsxs)("button",{onClick:()=>{x.push("/sklep-biegacza")},className:"text-sm text-brand-blue hover:text-brand-blueDark flex items-center gap-1",children:[(0,t.jsx)(s.X,{className:"w-4 h-4"}),"WyczyÅÄ"]})]}),(0,t.jsx)(u,{title:"Kategorie produktów",isExpanded:m.has("categories"),onToggle:()=>j("categories"),children:(0,t.jsxs)("ul",{className:"space-y-1",children:[(0,t.jsx)("li",{children:(0,t.jsx)("button",{onClick:()=>w(""),className:(0,o.cn)("w-full text-left px-3 py-2 rounded-lg text-sm transition-colors",b?"hover:bg-gray-100 text-gray-700":"bg-brand-blue/10 text-brand-blue font-medium"),children:"Wszystkie produkty"})}),k.map(r=>{let a,s=(a=r.slug,e.filter(e=>e.parent?.node.slug===a)),l=b===r.slug;return(0,t.jsxs)("li",{children:[(0,t.jsxs)("button",{onClick:()=>w(r.slug),className:(0,o.cn)("w-full text-left px-3 py-2 rounded-lg text-sm transition-colors flex justify-between items-center",l?"bg-brand-blue/10 text-brand-blue font-medium":"hover:bg-gray-100 text-gray-700"),children:[(0,t.jsx)("span",{children:r.name}),void 0!==r.count&&(0,t.jsxs)("span",{className:"text-xs text-gray-400",children:["(",r.count,")"]})]}),s.length>0&&(0,t.jsx)("ul",{className:"ml-4 mt-1 space-y-1",children:s.map(e=>(0,t.jsx)("li",{children:(0,t.jsx)("button",{onClick:()=>w(e.slug),className:(0,o.cn)("w-full text-left px-3 py-1.5 rounded-lg text-sm transition-colors",b===e.slug?"bg-brand-blue/10 text-brand-blue font-medium":"hover:bg-gray-100 text-gray-600"),children:e.name})},e.id))})]},r.id)})]})}),i.length>0&&(0,t.jsx)(u,{title:"Marka",isExpanded:m.has("brands"),onToggle:()=>j("brands"),children:(0,t.jsx)("ul",{className:"space-y-1 max-h-48 overflow-y-auto scrollbar-blue",children:i.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:"flex items-center gap-2 px-3 py-2 rounded-lg hover:bg-gray-100 cursor-pointer",children:[(0,t.jsx)("input",{type:"radio",name:"brand",checked:f===e.slug,onChange:()=>v("marka",f===e.slug?"":e.slug),className:"w-4 h-4 text-brand-blue accent-brand-blue"}),(0,t.jsx)("span",{className:"text-sm text-gray-700",children:e.name}),(0,t.jsxs)("span",{className:"text-xs text-gray-400 ml-auto",children:["(",e.count,")"]})]})},e.slug))})}),n.length>0&&(0,t.jsx)(u,{title:"Kolor",isExpanded:m.has("colors"),onToggle:()=>j("colors"),children:(0,t.jsx)("ul",{className:"space-y-1 max-h-48 overflow-y-auto scrollbar-blue",children:n.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:"flex items-center gap-2 px-3 py-2 rounded-lg hover:bg-gray-100 cursor-pointer",children:[(0,t.jsx)("input",{type:"radio",name:"color",checked:y===e.slug,onChange:()=>v("kolor",y===e.slug?"":e.slug),className:"w-4 h-4 text-brand-blue accent-brand-blue"}),(0,t.jsx)("span",{className:"text-sm text-gray-700",children:e.name}),(0,t.jsxs)("span",{className:"text-xs text-gray-400 ml-auto",children:["(",e.count,")"]})]})},e.slug))})})]})}function u({title:e,isExpanded:r,onToggle:a,children:s}){return(0,t.jsxs)("div",{className:"border-b border-gray-200 pb-4",children:[(0,t.jsxs)("button",{onClick:a,className:"w-full flex items-center justify-between py-2 text-left font-medium text-gray-900",children:[e,r?(0,t.jsx)(n.ChevronUp,{className:"w-5 h-5 text-gray-500"}):(0,t.jsx)(i.ChevronDown,{className:"w-5 h-5 text-gray-500"})]}),r&&(0,t.jsx)("div",{className:"mt-2",children:s})]})}e.s(["ProductFilters",()=>d],308921)},954459,e=>{"use strict";var t=e.i(843476),r=e.i(618566),a=e.i(975157),s=e.i(31531);function l({totalProducts:e,basePath:l,className:i}){let n=(0,r.useRouter)(),o=(0,r.useSearchParams)(),c=(0,r.usePathname)(),d=o.get("sortuj")||"popularnosc",u=o.get("na-stronie")||"12",h=l||c,x=(e,t)=>{let r=new URLSearchParams(o.toString());r.set(e,t),r.delete("strona");let a=r.toString();n.push(a?`${h}?${a}`:h)};return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 py-4","border-b border-gray-200",i),children:[void 0!==e&&(0,t.jsxs)("p",{className:"text-sm text-gray-600",children:["Znalezi
1ono ",(0,t.jsx)("strong",{children:e})," ",function(e){if(1===e)return"produkt";if(e>=2&&e<=4)return"produkty";if(e>=5&&e<=21)return"produktów";let t=e%10,r=e%100;return r>=12&&r<=14?"produktów":t>=2&&t<=4?"produkty":"produktów"}(e)]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 flex-wrap",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm text-gray-600 hidden sm:inline",children:"Produkty na stronie:"}),(0,t.jsx)("div",{className:"flex gap-1",children:s.PRODUCTS_PER_PAGE_OPTIONS.map(e=>(0,t.jsx)("button",{onClick:()=>x("na-stronie",e.toString()),className:(0,a.cn)("px-2 py-1 text-sm rounded",u===e.toString()?"bg-brand-blue text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"),children:e},e))})]}),(0,t.jsx)("select",{value:d,onChange:e=>x("sortuj",e.target.value),className:(0,a.cn)("px-3 py-2 text-sm rounded-lg border border-gray-200","bg-white focus:outline-none focus:ring-2 focus:ring-brand-blue/20 focus:border-brand-blue","cursor-pointer"),children:s.SORT_OPTIONS.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})]})]})}e.s(["ProductSort",()=>l])},143633,59830,e=>{"use strict";var t=e.i(843476),r=e.i(949722),a=e.i(522016),s=e.i(719079),l=e.i(522562),i=e.i(826707),n=e.i(810980),o=e.i(475254);let c=(0,o.default)("coffee",[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1",key:"pwadti"}],["path",{d:"M6 2v2",key:"colzsn"}]]);var d=e.i(512475);let u=(0,o.default)("gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]),h=(0,o.default)("glass-water",[["path",{d:"M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z",key:"p55z4y"}],["path",{d:"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0",key:"mjntcy"}]]),x=(0,o.default)("shirt",[["path",{d:"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z",key:"1wgbhj"}]]);var g=e.i(488844),m=e.i(75505),p=e.i(975157),b=e.i(31531);let f={"akcesoria-do-biegania":s.Watch,"buty-do-biegania":l.Footprints,elektronika:i.Smartphone,"ksiazki-dla-biegaczy":n.BookOpen,"kubki-biegacza":c,"pasy-biegowe":d.Dumbbell,"prezent-dla-biegacza":u,shakery:h,"odziez-do-biegania":x,zestawy:g.Package,uncategorized:m.FolderOpen};function y({category:e,className:s}){var l;let i=f[e.slug]||m.FolderOpen;return(0,t.jsxs)(a.default,{href:(0,b.getCategoryUrl)(e.slug),className:(0,p.cn)("group relative flex flex-col items-center p-6","bg-white rounded-xl border border-gray-100","hover:shadow-lg hover:border-brand-blue/20 transition-all duration-300",s),children:[(0,t.jsx)("div",{className:"relative w-20 h-20 mb-4 rounded-full bg-brand-light overflow-hidden",children:e.image?.sourceUrl?(0,t.jsx)(r.default,{src:e.image.sourceUrl,alt:e.image.altText||e.name,fill:!0,sizes:"80px",className:"object-cover group-hover:scale-110 transition-transform duration-300"}):(0,t.jsx)("div",{className:"w-full h-full flex items-center justify-center group-hover:scale-110 transition-transform duration-300",children:(0,t.jsx)(i,{className:"w-10 h-10 text-brand-blue"})})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-gray-900 text-center group-hover:text-brand-blue transition-colors",children:e.name}),void 0!==e.count&&(0,t.jsxs)("span",{className:"text-xs text-gray-500 mt-1",children:[e.count," ",1===(l=e.count)?"produkt":l>=2&&l<=4?"produkty":"produktów"]})]})}e.s(["CategoryCard",()=>y],59830);var j=e.i(58010);function w({categories:e}){let r=(0,j.useArrowCarousel)(e.length);return 0===e.length?null:(0,t.jsxs)("section",{className:"container mx-auto px-4 pt-1 pb-6","aria-label":"Kategorie produktów",children:[(0,t.jsx)("div",{className:"flex justify-end mb-2",children:(0,t.jsx)(j.CarouselArrows,{canScrollLeft:r.canScrollLeft,canScrollRight:r.canScrollRight,onLeft:()=>r.scroll("left"),onRight:()=>r.scroll("right")})}),(0,t.jsx)(j.CarouselTrack,{carouselRef:r.ref,children:e.map(e=>(0,t.jsx)(y,{category:e,className:"w-44 min-w-44 flex-shrink-0"},e.id))}),(0,t.jsx)(j.CarouselDots,{totalPages:r.totalPages,currentPage:r.currentPage,onGoTo:r.scrollToPage})]})}e.s(["CategoryCarousel",()=>w],143633)},827084,e=>{"use strict";e.s(["default",()=>K],827084);var t=e.i(843476),r=e.i(271645),a=e.i(522016),s=e.i(463059),l=e.i(37727),i=e.i(555436),n=e.i(649582),o=e.i(643531),c=e.i(370956),d=e.i(954922),u=e.i(664659),h=e.i(655900),x=e.i(244809),g=e.i(975157),m=e.i(863276),p=e.i(300694);e.s([],413930);var b=e.i(818229);function f({products:e,className:r,viewMode:a="grid"}){return 0===e.length?(0,t.jsxs)("div",{className:"py-16 text-center",children:[(0,t.jsx)("div",{className:"w-24 h-24 mx-auto mb-6 rounded-full bg-gray-100 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-12 h-12 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"})})}),(0,t.jsx)("h3",{className:"text-xl font-semibold text-gray-900 mb-2",children:"Brak produktów"}),(0,t.jsx)("p",{className:"text-gray-500 max-w-md mx-auto",children:"Nie znaleziono produktów
1speÅniajÄ cych wybrane kryteria. Spróbuj zmieniÄ filtry lub wyszukaj coÅ innego."})]}):(0,t.jsx)("div",{className:(0,g.cn)("gap-4 sm:gap-6","grid"===a?"grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4":"flex flex-col",r),children:e.map((e,r)=>(0,t.jsx)(b.ProductCard,{product:e,priority:r<4,viewMode:a},e.id))})}e.i(308921),e.i(954459),e.i(773250),e.i(586260);var y=e.i(949722),j=e.i(150965),w=e.i(25652),v=e.i(31531);function N({products:e,className:r}){return 0===e.length?null:(0,t.jsxs)("aside",{className:(0,g.cn)("bg-white rounded-xl border border-slate-200 shadow-sm overflow-hidden",r),children:[(0,t.jsx)("div",{className:"px-4 py-3.5 border-b border-slate-200 bg-slate-50",children:(0,t.jsxs)("h3",{className:"text-slate-900 font-bold text-sm uppercase tracking-wide flex items-center gap-2",children:[(0,t.jsx)(w.TrendingUp,{className:"w-4 h-4 text-brand-blue"}),"Bestsellery"]})}),(0,t.jsx)("ul",{className:"divide-y divide-slate-100",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)(a.default,{href:(0,v.getProductUrl)(e.slug),className:"flex gap-3 p-4 hover:bg-slate-50 transition-all group",children:[(0,t.jsx)("div",{className:"relative w-20 h-20 flex-shrink-0 bg-white rounded-lg overflow-hidden border border-slate-100 group-hover:border-slate-200 transition-all",children:e.image?.sourceUrl?(0,t.jsx)(y.default,{src:e.image.sourceUrl,alt:e.image.altText||e.name,fill:!0,sizes:"80px",className:"object-contain p-2 group-hover:scale-105 transition-transform duration-300"}):(0,t.jsx)("div",{className:"w-full h-full flex items-center justify-center text-slate-300",children:(0,t.jsx)(j.ShoppingBag,{className:"w-6 h-6"})})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col justify-center",children:[(0,t.jsx)("h4",{className:"text-sm font-semibold text-slate-900 line-clamp-2 group-hover:text-brand-blue transition-colors mb-2",children:e.name}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,v.isOnSale)(e)&&e.regularPrice?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-xs text-slate-400 line-through",children:(0,v.formatPrice)(e.regularPrice)}),(0,t.jsx)("span",{className:"text-base font-bold text-brand-green",children:(0,v.formatPrice)(e.salePrice||e.price)})]}):(0,t.jsx)("span",{className:"text-base font-bold text-slate-900",children:(0,v.formatPrice)(e.price)})})]})]})},e.id))}),(0,t.jsx)("div",{className:"p-4 border-t border-slate-200 bg-slate-50",children:(0,t.jsxs)(a.default,{href:"/sklep-biegacza?sortuj=bestseller",className:"flex items-center justify-center gap-1 text-sm text-brand-blue hover:text-brand-blueDark font-semibold transition-colors group",children:[(0,t.jsx)("span",{children:"Zobacz wszystkie bestsellery"}),(0,t.jsx)("span",{className:"transform group-hover:translate-x-1 transition-transform",children:"â"})]})})]})}e.i(59830);var k=e.i(143633);function S({title:e,categorySlug:r,products:s}){if(0===s.length)return null;let l=(0,v.getCategoryUrl)(r);return(0,t.jsxs)("section",{className:"mb-8","aria-labelledby":`featured-${r}`,children:[(0,t.jsxs)("div",{className:"mb-4 flex items-end justify-between gap-4",children:[(0,t.jsx)("h2",{id:`featured-${r}`,className:"text-xl font-bold text-slate-900",children:e}),(0,t.jsx)(a.default,{href:l,className:"flex-shrink-0 text-sm font-semibold text-brand-blue hover:text-brand-blueDark transition-colors",children:"Zobacz wszystkie â"})]}),(0,t.jsx)(f,{products:s})]})}e.i(89248),e.i(841665);var P=e.i(247167);let C=P.default.env.WORDPRESS_GRAPHQL_URL||"https://api.treningbiegacza.pl/graphql",z=Number(P.default.env.WORDPRESS_GRAPHQL_TIMEOUT_MS||2e4),E=()=>"true"===P.default.env.SKIP_BUILD_STATIC_GENERATION;class T extends Error{constructor(e,t){super(e,t),this.name="UpstreamUnavailableError"}}let O=e=>new Promise(t=>setTimeout(t,e));async function A(e,t,r){let a;for(let s=1;s<=3;s++)try{let a,s;try{a=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,variables:t}),signal:AbortSignal.timeout(z),...r})}catch(e){throw new T("WordPress GraphQL unreachable",{cause:e})}if(!a.ok)throw new T(`WordPress GraphQL responded ${a.status}`);try{s=await a.json()}catch(e){throw new T("WordPress GraphQL returned a non-JSON body",{cause:e})}if(s.errors)throw console.error("GraphQL Errors:",s.errors),Error(s.errors[0]?.message||"GraphQL Error");return s.data}catch(e){if(a=e,!(e instanceof T)||3===s)throw e;console.warn(`GraphQL upstream unavailable (attempt ${s}/3), retrying in 400ms...`,e instanceof Error?e.message:e),await O(400*s)}throw a}let R=` 2 query GetProducts( 3 $first: Int = 12 4 $after: String 5 $where: RootQueryToProductUnionConnectionWhereArgs 6 ) { 7 products(first: $first, after: $after, where: $where) { 8 pageInfo { 9 hasNextPage 10 hasPreviousPage 11 startCursor 12 endCursor 13 } 14 nodes { 15 id 16 databaseId 17 name 18 slug 19 type 20 21 # Marketplace: agregaty do kart listingu â pola rejestrowane na interfejsie "Product" 22 # (mu-plugins/marketplace-graphql.php), NIE na "ProductUnion" â trzeba je zawinÄ Ä 23 # w inline fragment "... on Product", inaczej GraphQL zwraca bÅÄ d i caÅy query pada 24 # (patrz catch w getProducts() -> puste "nodes": [] -> brak produkt\xf3w na /sklep-biegacza). 25 ... on Product { 26 lowestPrice 27 offerCount 28 merchantCount 29 merchantLogos { slug name logoUrl }
30 isAffiliateCard 31 isUnavailable 32 externalImageUrl 33 brandName 34 } 35 36 image { 37 sourceUrl(size: WOOCOMMERCE_THUMBNAIL) 38 altText 39 mediaDetails { 40 width 41 height 42 } 43 } 44 45 ... on SimpleProduct { 46 price 47 regularPrice 48 salePrice 49 onSale 50 lowestPriceInLast30Days 51 stockStatus 52 status 53 productCategories { 54 nodes { 55 id 56 name 57 slug 58 } 59 } 60 } 61 62 ... on VariableProduct { 63 price 64 regularPrice 65 onSale 66 lowestPriceInLast30Days 67 stockStatus 68 status 69 productCategories { 70 nodes { 71 id 72 name 73 slug 74 } 75 } 76 # Listing renderuje wyÅÄ cznie zakres cen (getPriceRange -> variation.price), 77 # wiÄc pozostaÅe pola wariantu sÄ tu zbÄdnym obciÄ Å¼eniem resolvera. 78 variations(first: 100) { 79 nodes { 80 id 81 price 82 } 83 } 84 } 85 86 ... on ExternalProduct { 87 price 88 regularPrice 89 externalUrl 90 lowestPriceInLast30Days 91 status 92 productCategories { 93 nodes { 94 id 95 name 96 slug 97 } 98 } 99 } 100 101 ... on GroupProduct { 102 status 103 productCategories { 104 nodes { 105 id 106 name 107 slug 108 } 109 } 110 } 111 } 112 } 113 } 114`,L=` 115 query GetProductBySlug($slug: ID!) { 116 product(id: $slug, idType: SLUG) { 117 id 118 databaseId 119 name 120 slug 121 type 122 status 123 description 124 shortDescription 125 averageRating 126 reviewCount 127 128 # Marketplace: agregaty i oferty sklep\xf3w 129 lowestPrice 130 offerCount 131 merchantCount 132 isAffiliateCard 133 isUnavailable 134 lastKnownPrice 135 externalImageUrl 136 brandName 137 brandSlug 138 genderName 139 genderSlug 140 colorName 141 colorSlug 142 availableSizes 143 isUnavailable 144 gtin 145 mpn 146 originId 147 itemGroupId 148 feedProductId 149 feedSku 150 feedSpecs { 151 label 152 value 153 } 154 offers { 155 id 156 databaseId 157 merchant { databaseId slug name logoUrl websiteUrl deliveryTime isOwnStore } 158 price 159 regularPrice 160 deliveryPrice 161 deliveryTime 162 totalPrice 163 currency 164 affiliateUrl 165 availability 166 sizes 167 condition 168 variantCount 169 isOwnStore 170 lastSyncedAt 171 } 172 173 image { 174 sourceUrl(size: WOOCOMMERCE_SINGLE) 175 altText 176 mediaDetails { 177 width 178 height 179 } 180 } 181 182 galleryImages { 183 nodes { 184 id 185 sourceUrl(size: WOOCOMMERCE_SINGLE) 186 altText 187 mediaDetails { 188 width 189 height 190 } 191 } 192 } 193 194 reviews(first: 10) { 195 averageRating 196 edges { 197 rating 198 node { 199 id 200 databaseId 201 content 202 date 203 author { 204 node { 205 name 206 } 207 } 208 } 209 } 210 } 211 212 ... on SimpleProduct { 213 sku 214 weight 215 height 216 length 217 width 218 price 219 regularPrice 220 salePrice 221 onSale 222 lowestPriceInLast30Days 223 stockStatus 224 stockQuantity 225 totalSales 226 attributes { 227 nodes { 228 name 229 label 230 options 231 variation 232 } 233 } 234 productCategories { 235 nodes { 236 id 237 databaseId 238 name 239 slug 240 parent { 241 node { 242 id 243 slug 244 name 245 } 246 } 247 } 248 } 249 productTags { 250 nodes { 251 id 252 name 253 slug 254 } 255 } 256 related(first: 4) { 257 nodes { 258 id 259 databaseId 260 name 261 slug 262 image { 263 sourceUrl(size: WOOCOMMERCE_THUMBNAIL) 264 altText 265 } 266 ... on SimpleProduct { 267 price 268 regularPrice 269 salePrice 270 onSale 271 stockStatus 272 } 273 ... on VariableProduct { 274 price 275 regularPrice 276 salePrice 277 onSale 278 stockStatus 279 } 280 } 281 } 282 } 283 284 ... on VariableProduct { 285 sku 286 weight 287 height 288 length 289 width 290 price 291 regularPrice 292 onSale 293 lowestPriceInLast30Days 294 stockStatus 295 totalSales 296 attributes { 297 nodes { 298 name 299 label 300 options 301 variation 302 } 303 } 304 productCategories { 305 nodes { 306 id 307 databaseId 308 name 309 slug 310 parent { 311 node { 312 id 313 slug 314 name 315 } 316 } 317 } 318 } 319 productTags { 320 nodes { 321 id 322 name 323 slug 324 } 325 } 326 variations(first: 100) { 327 nodes { 328 id 329 databaseId 330 name 331 price 332 regularPrice 333 salePrice 334 lowestPriceInLast30Days 335 stockStatus 336 stockQuantity 337 attributes { 338 nodes { 339 name 340 value 341 } 342 } 343 } 344 } 345 defaultAttributes { 346 nodes { 347 name 348 value 349 } 350 } 351 related(first: 4) { 352 nodes { 353 id 354 databaseId 355 name 356 slug 357 image { 358 sourceUrl(size: WOOCOMMERCE_THUMBNAIL) 359 altText 360 } 361 ... on SimpleProduct { 362 price 363 regularPrice 364 salePrice 365 onSale 366 stockStatus 367 } 368 ... on VariableProduct { 369 price 370 regularPrice 371 salePrice 372 onSale 373 stockStatus 374 } 375 } 376 } 377 } 378 379 ... on ExternalProduct { 380 sku 381 price 382 regularPrice 383 externalUrl 384 lowestPriceInLast30Days 385 productCategories { 386 nodes { 387 id 388 databaseId 389 name 390 slug 391 parent { 392 node { 393 id 394 slug 395 name 396 } 397 } 398 } 399 } 400 } 401 } 402 } 403`,_=` 404 query GetProductCategories($hideEmpty: Boolean = true) { 405 productCategories(first: 50, where: { hideEmpty: $hideEmpty }) { 406 nodes { 407 id 408 databaseId 409 name 410 slug 411 description 412 count 413 image { 414 sourceUrl(size: WOOCOMMERCE_THUMBNAIL) 415 altText 416 } 417 parent { 418 node { 419 id 420 slug 421 } 422 } 423 } 424 } 425 } 426`,D=` 427 query GetBestsellers($first: Int = 4) { 428 products( 429 first: $first 430 # typeNotIn: EXTERNAL â bestsellery majÄ byÄ produktami, kt\xf3re faktycznie fizycznie 431 # sprzedajemy (SimpleProduct/VariableProduct), nie kartami afiliacyjnymi (ExternalProduct). 432 # Karty afiliacyjne nie majÄ "price"/"regularPrice" pobieranych w tym zapytaniu (brak 433 # fragmentu "... on ExternalProduct"), stÄ d renderowaÅy siÄ z "0,00 zÅ" i bez zdjÄcia. 434 where: { orderby: { field: TOTAL_SALES, order: DESC }, typeNotIn: EXTERNAL } 435 ) { 436 nodes { 437 id 438 databaseId 439 name 440 slug 441 image { 442 sourceUrl(size: WOOCOMMERCE_THUMBNAIL) 443 altText 444 } 445 ... on SimpleProduct { 446 price 447 regularPrice 448 salePrice 449 onSale 450 stockStatus 451 productCategories { 452 nodes { 453 id 454 name 455 slug 456 } 457 } 458 } 459 ... on VariableProduct { 460 price 461 regularPrice 462 onSale 463 stockStatus 464 productCategories { 465 nodes { 466 id 467 name 468 slug 469 } 470 } 471 } 472 } 473 } 474 } 475`;(0,r.cache)(async e=>{let t=await A(L,{slug:e},{next:{revalidate:60,tags:["products",`product-${e}`]}});return t.product?{...t.product,name:(0,v.cleanProductTitle)(t.product.name)}:null}),(0,r.cache)(async(e=!0)=>
475{if(E())return[];try{return(await A(_,{hideEmpty:e},{next:{revalidate:3600}})).productCategories.nodes}catch(e){return console.error("Error fetching product categories:",e),[]}}),(0,r.cache)(async(e=4)=>{if(E())return[];try{return(await A(D,{first:e},{next:{revalidate:300}})).products.nodes}catch(e){return console.error("Error fetching bestsellers:",e),[]}}),(0,r.cache)(async e=>{if(E()||0===e.length)return[];try{let t=await A(R,{first:e.length,where:{slugIn:[...e],status:"publish"}},{next:{revalidate:300,tags:["products","shop"]}}),r=(t.products?.nodes??[]).map(e=>({...e,name:(0,v.cleanProductTitle)(e.name)}));return(0,v.orderProductsBySlugs)(r,e)}catch(e){return console.error("Error fetching products by slugs:",e),[]}});let I={freeShipping:{text:"Darmowa dostawa",threshold:150},securePayments:{text:"Bezpieczne pÅatnoÅci",description:"Stripe, BLIK, P24"},returnPolicy:{text:"14 dni na zwrot",description:"bez podania przyczyny"}},U=` 476 query GetProductBenefits { 477 checkoutOptions { 478 benefitFreeShippingText 479 benefitFreeShippingThreshold 480 benefitSecurePaymentsText 481 benefitSecurePaymentsDesc 482 benefitReturnPolicyText 483 benefitReturnPolicyDesc 484 } 485 } 486`;(0,r.cache)(async()=>{if(E())return I;try{let e=(await A(U,{},{next:{revalidate:3600}})).checkoutOptions;if(!e)return I;return{freeShipping:{text:e.benefitFreeShippingText||I.freeShipping.text,threshold:e.benefitFreeShippingThreshold??I.freeShipping.threshold},securePayments:{text:e.benefitSecurePaymentsText||I.securePayments.text,description:e.benefitSecurePaymentsDesc||I.securePayments.description},returnPolicy:{text:e.benefitReturnPolicyText||I.returnPolicy.text,description:e.benefitReturnPolicyDesc||I.returnPolicy.description}}}catch(e){return console.error("Error fetching product benefits:",e),I}}),e.i(413930);var M=e.i(597745);e.i(656910);var B=e.i(390964),H=e.i(777384),$=e.i(375679),G=e.i(28015);function W({title:e,children:a,defaultOpen:s=!0}){let[l,i]=(0,r.useState)(s);return(0,t.jsxs)("div",{className:"border-b border-slate-200",children:[(0,t.jsxs)("button",{onClick:()=>i(!l),className:"w-full px-4 py-3.5 flex items-center justify-between hover:bg-slate-50 transition-colors",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-slate-800",children:e}),l?(0,t.jsx)(h.ChevronUp,{className:"h-5 w-5 text-slate-400"}):(0,t.jsx)(u.ChevronDown,{className:"h-5 w-5 text-slate-400"})]}),l&&(0,t.jsx)("div",{className:"px-4 pb-4 space-y-1",children:a})]})}function F({label:e,checked:r,onChange:a,count:s}){return(0,t.jsxs)("button",{type:"button",onClick:a,className:"w-full flex items-center gap-3 py-2 cursor-pointer group text-left",children:[(0,t.jsx)("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors flex-shrink-0 ${r?"bg-brand-blue border-brand-blue":"border-slate-300 group-hover:border-brand-blue"}`,children:r&&(0,t.jsx)(o.Check,{className:"w-3 h-3 text-white",strokeWidth:3})}),(0,t.jsx)("span",{className:"text-slate-600 text-sm group-hover:text-slate-900 flex-1",children:e}),void 0!==s&&(0,t.jsxs)("span",{className:"text-xs text-slate-400",children:["(",s,")"]})]})}function K({initialProducts:e,categories:u,bestsellers:h,filters:b,currentCategory:y,pageTitle:j="Sklep biegacza",productCount:w,pageDescription:v="Znajdź wszystko, czego potrzebujesz do biegania - od ksiÄ Å¼ek i poradników, przez elektronikÄ, po akcesoria i gadżety dla biegaczy.",showCategoryBoxes:P=!1,featuredBooks:C=[],featuredMugs:z=[],adBanners:E={}}){let[T,O]=(0,r.useState)(!1),A=(0,G.useBottomBarVisibility)(),[R,L]=(0,r.useState)("default"),[_,D]=(0,r.useState)("grid"),[I,U]=(0,r.useState)(!1),[K,Q]=(0,r.useState)(!1),[q,V]=(0,r.useState)(93),Z=(0,r.useRef)(null),X=(0,r.useRef)(null),J=(0,r.useRef)(!1),Y=(0,r.useRef)(""),ee=(0,r.useRef)(""),[et,er]=(0,r.useState)({search:"",category:y||"",brand:"",color:""});(0,r.useEffect)(()=>{let e=parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--layout-header-height"));!Number.isNaN(e)&&e>0&&queueMicrotask(()=>V(e))},[]),(0,r.useEffect)(()=>{let e=X.current;if(!e)return;let t=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;U(t),t&&J.current&&Q(!0)},{threshold:0});return t.observe(e),()=>t.disconnect()},[]),(0,r.useEffect)(()=>{let e=e=>{V(e.detail.headerHeight),J.current=e.detail.isCollapsed,I?Q(e.detail.isCollapsed):Q(!1)};return window.addEventListener("headerCollapsedChange",e),()=>window.removeEventListener("headerCollapsedChange",e)},[I]);let ea=(0,r.useMemo)(()=>{let t=[...e];if(et.search){let e=et.search.toLowerCase();t=t.filter(t=>t.name.toLowerCase().includes(e))}return t.sort((e,t)=>
486{let r=e=>{if(!e)return 0;let t=e.match(/[\d.,]+/);return t&&parseFloat(t[0].replace(",","."))||0};switch(R){case"price-asc":return r(e.price)-r(t.price);case"price-desc":return r(t.price)-r(e.price);case"name":return e.name.localeCompare(t.name);default:return 0}}),t},[e,et,R]);(0,r.useEffect)(()=>{if(0===ea.length)return;let e=ea.map(e=>e.databaseId).join(","),t=`${et.category||"all"}|${et.brand||"all"}|${et.color||"all"}|${R}|${e}`;Y.current!==t&&(Y.current=t,(0,$.trackEcommerce)("view_item_list",ea.slice(0,20).map(e=>({item_id:String(e.databaseId),item_name:e.name,price:0,item_category:e.productCategories?.nodes?.[0]?.name})),{item_list_name:"shop_catalog",item_list_id:et.category||"shop_all"}))},[ea,et.category,et.brand,et.color,R]),(0,r.useEffect)(()=>{let e=et.search.trim();e.length<2||ee.current!==e&&(ee.current=e,(0,$.trackEvent)("search",{search_term:e,source:"shop_filters",results_count:ea.length,category:et.category||"all"}))},[et.search,et.category,ea.length]);let es=u.filter(e=>!e.parent),el=e=>u.filter(t=>t.parent?.node.slug===e),ei=(0,r.useMemo)(()=>u.filter(e=>!e.parent).reduce((e,t)=>{let r=u.filter(e=>e.parent?.node?.slug===t.slug).reduce((e,t)=>e+(t.count??0),0);return e+(t.count??0)+r},0),[u]),en=w??(ei>0?ei:ea.length),eo=et.category||et.brand||et.color,ec=()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(W,{title:"Kategorie produktów",children:[(0,t.jsxs)(a.default,{href:"/sklep-biegacza",className:"w-full flex items-center gap-3 py-2 cursor-pointer group text-left",children:[(0,t.jsx)("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors flex-shrink-0 ${!et.category?"bg-brand-blue border-brand-blue":"border-slate-300 group-hover:border-brand-blue"}`,children:!et.category&&(0,t.jsx)(o.Check,{className:"w-3 h-3 text-white",strokeWidth:3})}),(0,t.jsx)("span",{className:"text-slate-600 text-sm group-hover:text-slate-900 flex-1",children:"Wszystkie produkty"})]}),es.map(e=>{let r=el(e.slug),s=et.category===e.slug;return(0,t.jsxs)("div",{children:[(0,t.jsxs)(a.default,{href:`/sklep-biegacza/${e.slug}`,className:"w-full flex items-center gap-3 py-2 cursor-pointer group text-left",children:[(0,t.jsx)("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors flex-shrink-0 ${s?"bg-brand-blue border-brand-blue":"border-slate-300 group-hover:border-brand-blue"}`,children:s&&(0,t.jsx)(o.Check,{className:"w-3 h-3 text-white",strokeWidth:3})}),(0,t.jsx)("span",{className:"text-slate-600 text-sm group-hover:text-slate-900 flex-1",children:e.name}),void 0!==e.count&&(0,t.jsxs)("span",{className:"text-xs text-slate-400",children:["(",e.count,")"]})]}),r.length>0&&(0,t.jsx)("div",{className:"ml-8 space-y-1 mt-1",children:r.map(e=>(0,t.jsxs)(a.default,{href:`/sklep-biegacza/${e.slug}`,className:"w-full flex items-center gap-3 py-2 cursor-pointer group text-left",children:[(0,t.jsx)("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors flex-shrink-0 ${et.category===e.slug?"bg-brand-blue border-brand-blue":"border-slate-300 group-hover:border-brand-blue"}`,children:et.category===e.slug&&(0,t.jsx)(o.Check,{className:"w-3 h-3 text-white",strokeWidth:3})}),(0,t.jsx)("span",{className:"text-slate-600 text-sm group-hover:text-slate-900 flex-1",children:e.name}),void 0!==e.count&&(0,t.jsxs)("span",{className:"text-xs text-slate-400",children:["(",e.count,")"]})]},e.id))})]},e.id)})]}),b.brands.length>0&&(0,t.jsxs)(W,{title:"Marka",children:[(0,t.jsx)(F,{label:"Wszystkie marki",checked:!et.brand,onChange:()=>er({...et,brand:""})}),b.brands.map(e=>(0,t.jsx)(F,{label:e.name,checked:et.brand===e.slug,onChange:()=>er({...et,brand:et.brand===e.slug?"":e.slug}),count:e.count},e.slug))]}),b.colors.length>0&&(0,t.jsxs)(W,{title:"Kolor",children:[(0,t.jsx)(F,{label:"Wszystkie kolory",checked:!et.color,onChange:()=>er({...et,color:""})}),b.colors.map(e=>(0,t.jsx)(F,{label:e.name,checked:et.color===e.slug,onChange:()=>er({...et,color:et.color===e.slug?"":e.slug}),count:e.count},e.slug))]})]});return(0,t.jsxs)("div",{className:"min-h-screen bg-brand-light/80",children:[(0,t.jsx)("div",{className:"relative bg-chevron-pattern pt-[30px] pb-3 overflow-hidden",children:(0,t.jsxs)("div",{className:"wrapper relative z-10",children:[(0,t.jsxs)(m.ScrollHintContainer,{as:"nav",settle:"end","aria-label":"Breadcrumb",className:"flex items-center justify-start md:justify-center gap-1 text-[13px] text-slate-500 mb-4 font-medium",children:[(0,t.jsxs)(a.default,{href:"/",className:"flex items-center gap-1 flex-shrink-0 whitespace-nowrap hover:text-brand-blue transition-colors",children:[(0,t.jsx)(x.House,{className:"h-3.5 w-3.5 flex-shrink-0","aria-hidden":"true"}),"TreningBiegacza.pl"]}),(0,t.jsx)(s.ChevronRight,{className:"h-3 w-3 mx-1 text-slate-400 flex-shrink-0"}),y?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.default,{href:"/sklep-biegacza",className:"flex-shrink-0 whitespace-nowrap hover:text-brand-blue transition-colors",children:"Sklep biegacza"}),(0,t.jsx)(s.ChevronRight,{className:"h-3 w-3 mx-1 text-slate-400 flex-shrink-0"}),(0,t.jsx)("span",{className:"flex-shrink-0 whitespace-nowrap text-slate-900",children:j})]}):(0,t.jsx)("span",{className:"flex-shrink-0 whitespace-nowrap text-slate-900",children:"Sklep biegacza"})]}),(0,t.jsx)(B.AdSlot,{slot:H.AD_SLOTS.SHOP_HEADER_LEADERBOARD.slot,format:H.AD_SLOTS.SHOP_HEADER_LEADERBOARD.format,width:H.AD_SLOTS.SHOP_HEADER_LEADERBOARD.width,height:H.AD_SLOTS.SHOP_HEADER_LEADERBOARD.height,banners:[...E[H.AD_SLOTS.SHOP_HEADER_LEADERBOARD.slot]??[],...E[H.AD_SLOTS.GLOBAL_TOP_LEADERBOARD.slot]??[]],closeable:!0,className:"flex w-full justify-center mb-6"}),(0,t.jsx)(p.PageHeading,{count:en,children:j}),(0,t.jsx)("p",{className:"text-text-secondary text-base text-center max-w-3xl mx-auto leading-relaxed",children:v})]})}),P&&u.length>0&&(0,t.jsx)(k.CategoryCarousel,{categories:es.map(e=>{let t=el(e.slug).reduce((e,t)=>
486e+(t.count??0),0);return{...e,count:(e.count??0)+t}})}),(0,t.jsxs)("div",{className:"container mx-auto px-4 py-8",children:[(0,t.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8",children:[(0,t.jsxs)("aside",{className:"hidden lg:block w-80 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"bg-white rounded-xl border border-slate-200 sticky top-4 overflow-hidden z-10",children:[(0,t.jsxs)("div",{className:"px-4 py-3 border-b border-slate-200 flex items-center justify-between gap-3",children:[(0,t.jsxs)("select",{value:R,onChange:e=>L(e.target.value),className:"flex-1 px-3 py-2 text-sm border border-slate-300 rounded-lg bg-white focus:outline-none focus:ring-2 focus:ring-brand-blue",children:[(0,t.jsx)("option",{value:"default",children:"DomyÅlnie"}),(0,t.jsx)("option",{value:"price-asc",children:"Cena: rosnÄ
co"}),(0,t.jsx)("option",{value:"price-desc",children:"Cena: malejÄ
co"}),(0,t.jsx)("option",{value:"name",children:"Nazwa A-Z"})]}),(0,t.jsxs)("div",{className:"flex items-center border border-slate-300 rounded-lg overflow-hidden",children:[(0,t.jsx)("button",{onClick:()=>D("list"),className:(0,g.cn)("p-2 transition-colors","list"===_?"bg-brand-blue text-white":"bg-white text-slate-600 hover:bg-slate-50"),children:(0,t.jsx)(c.List,{className:"h-4 w-4"})}),(0,t.jsx)("button",{onClick:()=>D("grid"),className:(0,g.cn)("p-2 transition-colors","grid"===_?"bg-brand-blue text-white":"bg-white text-slate-600 hover:bg-slate-50"),children:(0,t.jsx)(d.Grid,{className:"h-4 w-4"})})]})]}),(0,t.jsx)("div",{className:"p-4 border-b border-slate-200",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(i.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400"}),(0,t.jsx)("input",{type:"text",placeholder:"Szukaj produktu...",value:et.search,onChange:e=>er({...et,search:e.target.value}),className:"w-full pl-10 pr-4 py-2.5 text-sm border border-slate-200 rounded-full bg-brand-light focus:outline-none focus:ring-2 focus:ring-brand-blue focus:border-transparent placeholder:text-slate-400"})]})}),(0,t.jsxs)("div",{className:"px-4 py-3 border-b border-slate-200 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.SlidersHorizontal,{className:"w-4 h-4 text-brand-blue"}),(0,t.jsx)("span",{className:"font-bold text-sm text-slate-800 uppercase tracking-wide",children:"Filtry"})]}),eo&&(0,t.jsx)("button",{onClick:()=>{er({search:"",category:y||"",brand:"",color:""})},className:"text-xs text-brand-blue hover:text-brand-blueDark font-medium",children:"WyczyÅÄ"})]}),(0,t.jsx)("div",{children:ec()})]}),(0,t.jsx)("div",{className:"mt-6 overflow-hidden",children:(0,t.jsx)(B.AdSlot,{slot:H.AD_SLOTS.SHOP_SIDEBAR_RECTANGLE.slot,format:H.AD_SLOTS.SHOP_SIDEBAR_RECTANGLE.format,width:H.AD_SLOTS.SHOP_SIDEBAR_RECTANGLE.width,height:H.AD_SLOTS.SHOP_SIDEBAR_RECTANGLE.height,banners:E[H.AD_SLOTS.SHOP_SIDEBAR_RECTANGLE.slot]??[]})}),h.length>0&&(0,t.jsx)("div",{className:"mt-6",children:(0,t.jsx)(N,{products:h})})]}),T&&(0,t.jsxs)("div",{className:"fixed inset-x-0 top-0 z-[80] lg:hidden",style:{bottom:A?"calc(56px + env(safe-area-inset-bottom, 0px))":0},children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:()=>O(!1)}),(0,t.jsxs)("div",{className:"absolute left-0 top-0 bottom-0 w-80 max-w-full bg-white shadow-xl flex flex-col",children:[(0,t.jsx)("div",{className:"flex-shrink-0 p-4 bg-white border-b border-slate-200",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(i.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400"}),(0,t.jsx)("input",{type:"text",placeholder:"Szukaj produktu...",value:et.search,onChange:e=>er({...et,search:e.target.value}),className:"w-full pl-10 pr-4 py-2.5 text-sm border border-slate-200 rounded-full bg-brand-light focus:outline-none focus:ring-2 focus:ring-brand-blue focus:border-transparent placeholder:text-slate-400"})]})}),(0,t.jsxs)("div",{className:"flex-shrink-0 bg-white border-b border-slate-200 px-4 py-3 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.SlidersHorizontal,{className:"w-4 h-4 text-brand-blue"}),(0,t.jsx)("span",{className:"font-bold text-sm text-slate-800 uppercase tracking-wide",children:"Filtry"})]}),(0,t.jsx)("button",{onClick:()=>O(!1),children:(0,t.jsx)(l.X,{className:"w-5 h-5 text-slate-400"})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-blue",children:ec()}),(0,t.jsx)("div",{className:"flex-shrink-0 bg-white border-t border-slate-200 p-4",children:(0,t.jsxs)("button",{onClick:()=>O(!1),className:"w-full bg-brand-blue hover:bg-brand-blueDark text-white font-bold py-3 rounded-full transition-colors",children:["Pokaż ",en," produktów"]})})]})]}),(0,t.jsxs)("main",{className:"flex-1",children:[(0,t.jsx)("div",{ref:X,className:"lg:hidden","aria-hidden":"true",style:{height:`${q}px`,marginTop:`-${q}px`}}),(0,t.jsx)("div",{ref:Z,className:(0,g.cn)("lg:hidden transition-all duration-300 ease-out",I&&"fixed left-0 right-0 z-20 bg-white shadow-sm",K&&"-translate-y-full"),style:I?{top:K?0:`${q}px`}:void 0,children:(0,t.jsxs)("div",{className:(0,g.cn)("flex flex-nowrap items-center justify-between gap-2 py-2.5",I&&"px-4"),children:[(0,t.jsxs)("button",{onClick:()=>O(!0),className:"flex h-9 flex-shrink-0 items-center gap-1.5 px-2.5 border border-slate-300 rounded-lg bg-white text-slate-600 hover:bg-slate-50 text-sm font-medium whitespace-nowrap",children:[(0,t.jsx)(n.SlidersHorizontal,{className:"h-4 w-4 flex-shrink-0"}),"Filtry"]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center justify-end gap-2 min-w-0",children:[(0,t.jsxs)("select",{value:R,onChange:e=>L(e.target.value),className:"h-9 min-w-0 flex-1 px-2.5 text-sm border border-slate-300 rounded-lg bg-white focus:outline-none focus:ring-2 focus:ring-brand-blue",children:[(0,t.jsx)("option",{value:"default",children:"DomyÅlnie"}),(0,t.jsx)("option",{value:"price-asc",children:"Cena: rosnÄ
co"}),(0,t.jsx)("option",{value:"price-desc",children:"Cena: malejÄ
co"}),(0,t.jsx)("option",{value:"name",children:"Nazwa A-Z"})]}),(0,t.jsxs)("div",{className:"flex h-9 flex-shrink-0 items-center border border-slate-300 rounded-lg overflow-hidden",children:[(0,t.jsx)("button",{onClick:()=>D("list"),className:(0,g.cn)("flex h-full w-9 items-center justify-center transition-colors","list"===_?"bg-brand-blue text-white":"bg-white text-slate-600 hover:bg-slate-50"),"aria-label":"Widok listy",children:(0,t.jsx)(c.List,{className:"h-4 w-4"})}),(0,t.jsx)("button",{onClick:()=>D("grid"),className:(0,g.cn)("flex h-full w-9 items-center justify-center transition-colors","grid"===_?"bg-brand-blue text-white":"bg-white text-slate-600 hover:bg-slate-50"),"aria-label":"Widok siatki",children:(0,t.jsx)(d.Grid,{className:"h-4 w-4"})})]})]})]})}),P&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S,{title:"KsiÄ
żki dla biegaczy",categorySlug:M.FEATURED_BOOKS_CATEGORY_SLUG,products:C}),(0,t.jsx)(S,{title:"Kubki na prezent dla biegacza",categorySlug:M.FEATURED_MUGS_CATEGORY_SLUG,products:z})]}),P&&(C.length>0||z.length>0)&&(0,t.jsx)("h2",{className:"text-xl font-bold text-slate-900 mb-4 mt-2 lg:mt-0",children:"Wszystkie produkty"}),ea.length>0?(0,t.jsx)(f,{products:ea,viewMode:_}):(0,t.jsxs)("div",{className:"text-center py-16 bg-white rounded-xl border border-slate-200",children:[(0,t.jsx)("div",{className:"text-6xl mb-4",children:"ð"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-slate-800 mb-2",children:"Nie znaleziono produktów"}),(0,t.jsx)("p",{className:"text-slate-500 mb-4",children:"Spróbuj zmieniÄ kryteria filtrowania"}),(0,t.jsx)(a.default,{href:"/sklep-biegacza",className:"text-brand-blue font-medium hover:underline",children:"Pokaż wszystkie produkty"})]})]})]}),h.length>0&&(0,t.jsx)("section",{className:"mt-8 lg:hidden",children:(0,t.jsx)(N,{products:h})})]})]})}}]);
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.