import{e as Se,g as Pe,r as i,u as I,j as s,b as ke,L as _e,s as q}from"./index-D5aSL5Lk.js";import{H as le,b as Me}from"./Header-CQ-hRMFy.js";import{B as p,I as f,F as Fe}from"./Footer-B625QnUy.js";import{C as Oe}from"./ComparisonBar-VklzV7nq.js";import{O as Te}from"./OptimizedImage-BDiwQDT8.js";import{S as Le}from"./StructuredBreadcrumb-BCzmleui.js";import{u as $e,M as Be,C as Ee}from"./usePaginationMeta-BwbsE7lj.js";import{C as ne,a as oe}from"./card-Xe3d9dhi.js";import{C as z}from"./checkbox-CzTzIcmO.js";import{S as Ie,a as qe,b as ze,c as Re,d as C}from"./select-Cw0Wzy5h.js";import{u as Ae,a as Ve}from"./useMetaDescription-Dr9AdqMY.js";import{u as Ue}from"./useDocumentTitle-B-SBpz7s.js";import{u as Ke}from"./useOpenGraph-BJUJ8GJb.js";import{g as De}from"./seoHelpers-DphZaCAd.js";import{E as Je}from"./external-link-RH3nu8XI.js";import{C as We}from"./chevron-right-Dnq_A__P.js";import"./index-DVk-hwER.js";import"./check-DCNsCDBV.js";import"./index-CeP29QIk.js";import"./chevron-down-B5BGiQa3.js";const gs=()=>{var te,re;Se();const[h,R]=Pe(),ce=i.useCallback((e,a)=>l=>{window._affiliateClickTracker||(window._affiliateClickTracker=new Map);const x=Date.now(),ie=window._affiliateClickTracker.get(e);if(ie&&x-ie<5e3)return console.log("🚫 Blocked duplicate click for:",a),l.preventDefault(),l.stopPropagation(),!1;window._affiliateClickTracker.set(e,x),console.log("✅ Allowed click for:",a);for(const[we,ye]of window._affiliateClickTracker.entries())x-ye>1e4&&window._affiliateClickTracker.delete(we)},[]),A=h.get("search")||"",V=h.get("category")||"",de=parseInt(h.get("page")||"1",10),me=((te=h.get("brand"))==null?void 0:te.split(",").filter(Boolean))||[],ue=((re=h.get("vendor"))==null?void 0:re.split(",").filter(Boolean))||[],he=h.get("minPrice")||"",ge=h.get("maxPrice")||"",pe=h.get("sort")||"newest",[c,v]=i.useState(he),[d,w]=i.useState(ge),[j,y]=i.useState(A),[u,N]=i.useState(A),[S,P]=i.useState(""),[k,_]=i.useState(""),[t,U]=i.useState(V?[V]:[]),[o,K]=i.useState(me),[n,D]=i.useState(ue),[M,F]=i.useState(""),[m,J]=i.useState(pe),[r,W]=i.useState(de),b=12,O=i.useMemo(()=>{const e=new URLSearchParams;u&&e.set("search",u),t.length>0&&e.set("category",t.join(",")),o.length>0&&e.set("brand",o.join(",")),n.length>0&&e.set("vendor",n.join(",")),c&&e.set("minPrice",c),d&&e.set("maxPrice",d),m!=="newest"&&e.set("sort",m);const a=e.toString();return`https://clyper.ro/products${a?"?"+a:""}`},[u,t,o,n,c,d,m]);Ae();const T=t.length===1?r>1?`${t[0]} - Pagina ${r} | Clyper.ro`:`${t[0]} - Comparator prețuri | Clyper.ro`:r>1?`Toate produsele - Pagina ${r} | Clyper.ro`:"Toate produsele - Compară prețuri | Clyper.ro",L=t.length===1?`Explorează produse din categoria ${t[0]}. Compară prețuri și găsește cele mai bune oferte pe Clyper.ro.`:r>1?`Explorează produse - Pagina ${r}. Compară prețuri și găsește ofertele perfecte din toate categoriile.`:"Explorează mii de produse și compară prețuri din toate categoriile. Filtrează după preț, categorie și brand pentru a găsi ofertele perfecte.";Ue(T),Ve(L),Ke({title:T,description:L,type:"website",siteName:"Clyper"});const fe=i.useMemo(()=>JSON.stringify([...n].sort()),[n]),xe=i.useMemo(()=>JSON.stringify([...t].sort()),[t]),je=i.useMemo(()=>JSON.stringify([...o].sort()),[o]),{data:$,isLoading:H}=I({queryKey:["products",fe,xe,je,c,d,u,m,r],queryFn:async()=>{const e=(r-1)*b;console.log("🔍 Fetching products with filters:",{vendors:n,categories:t,brands:o,minPrice:c,maxPrice:d,search:u,page:r,sortBy:m});const{data:a,error:l}=await q.rpc("search_products_normalized",{search_term:u||null,vendor_filter:n.length>0?n:null,category_filter:t.length>0?t:null,brand_filter:o.length>0?o:null,min_price_filter:c?parseFloat(c):null,max_price_filter:d?parseFloat(d):null,sort_option:m,page_offset:e,page_limit:b});if(l)throw console.error("❌ Error fetching products:",l),l;return console.log(`✅ Fetched ${a.length} products`),{products:a}},staleTime:3e4,gcTime:12e4,refetchOnMount:!1,refetchOnWindowFocus:!1}),g=($==null?void 0:$.products)||[];console.log("📦 Products loaded:",{count:g.length,filters:{selectedVendors:n,selectedCategories:t,selectedBrands:o,productNameSearch:u,sortBy:m}});const G=g.length===b;$e({currentPage:r,totalPages:999,baseUrl:O}),I({queryKey:["unique-brands"],queryFn:async()=>{const{data:e,error:a}=await q.rpc("get_unique_brands");if(a)throw a;return e.map(l=>l.brand)},staleTime:30*60*1e3,gcTime:60*60*1e3,refetchOnMount:!1,refetchOnWindowFocus:!1});const{data:B=[]}=I({queryKey:["unique-vendors"],queryFn:async()=>{console.log("🔍 Fetching vendors...");const{data:e,error:a}=await q.rpc("get_unique_store_names");if(a)throw console.error("❌ Error fetching vendors:",a),a;const l=e.map(x=>x.store_name);return console.log(`✅ Fetched ${l.length} vendors:`,l.slice(0,5)),l},staleTime:30*60*1e3,gcTime:60*60*1e3,refetchOnMount:!1,refetchOnWindowFocus:!1});console.log("🏪 Vendors loaded:",{count:B.length,selected:n,first5:B.slice(0,5)});const Ne=i.useMemo(()=>[...new Set(g.map(e=>e.category).filter(e=>e!=null))].sort(),[g]),be=i.useMemo(()=>[...new Set(g.map(e=>e.brand).filter(e=>e!=null))].sort(),[g]),Z=Ne.filter(e=>e.toLowerCase().includes(S.toLowerCase())),Q=be.filter(e=>e.toLowerCase().includes(k.toLowerCase())),X=B.filter(e=>e.toLowerCase().includes(M.toLowerCase())),Y=e=>{U(a=>a.includes(e)?a.filter(l=>l!==e):[...a,e])},ee=e=>{K(a=>a.includes(e)?a.filter(l=>l!==e):[...a,e])},se=e=>{D(a=>a.includes(e)?a.filter(l=>l!==e):[...a,e])},ae=()=>{v(""),w(""),y(""),N(""),P(""),_(""),U([]),K([]),D([]),F(""),J("newest"),E(1)},E=e=>{const a=new URLSearchParams(h);e===1?a.delete("page"):a.set("page",e.toString()),R(a),W(e),window.scrollTo({top:0,behavior:"smooth"})};i.useEffect(()=>{const e=new URLSearchParams;u&&e.set("search",u),t.length>0&&e.set("category",t.join(",")),o.length>0&&e.set("brand",o.join(",")),n.length>0&&e.set("vendor",n.join(",")),c&&e.set("minPrice",c),d&&e.set("maxPrice",d),m!=="newest"&&e.set("sort",m),r>1&&e.set("page",r.toString());const a=e.toString(),l=h.toString();a!==l&&R(e,{replace:!0})},[u,t,o,n,c,d,m,r]),i.useEffect(()=>{r!==1&&W(1)},[c,d,u,t,o,n,m]);const Ce=e=>{e.key==="Enter"&&N(j)};if(H)return s.jsxs("div",{className:"min-h-screen bg-background",children:[s.jsx(le,{}),s.jsx("div",{className:"container mx-auto px-4 py-8 flex items-center justify-center",children:s.jsx(ke,{className:"h-8 w-8 animate-spin text-primary"})})]});const ve={"@context":"https://schema.org","@type":"CollectionPage",name:T,description:L,url:r===1?O:`${O}&page=${r}`,...r>1&&{isPartOf:{"@type":"WebSite",name:"Clyper",url:"https://clyper.ro"}},mainEntity:{"@type":"ItemList",numberOfItems:58e4,itemListElement:g.map((e,a)=>({"@type":"ListItem",position:(r-1)*b+a+1,url:`https://clyper.ro/product/${e.slug||e.id}`,name:e.name,item:{"@type":"Product",name:e.name,image:e.image_url,offers:{"@type":"Offer",price:e.price,priceCurrency:"RON",availability:"https://schema.org/InStock",url:e.affiliate_link}}}))}};return s.jsxs("div",{className:"min-h-screen bg-background",children:[s.jsx(le,{}),s.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(ve)}}),s.jsxs("div",{className:"container mx-auto px-4 py-8",children:[s.jsx(Le,{items:t.length===1?[{label:"Acasă",href:"/"},{label:"Produse",href:"/products"},{label:t[0]}]:[{label:"Acasă",href:"/"},{label:"Produse"}]}),s.jsx("div",{className:"lg:hidden mb-4",children:s.jsx(Be,{minPrice:c,maxPrice:d,setMinPrice:v,setMaxPrice:w,categorySearch:S,setCategorySearch:P,filteredCategories:Z,selectedCategories:t,toggleCategory:Y,brandSearch:k,setBrandSearch:_,filteredBrands:Q,selectedBrands:o,toggleBrand:ee,vendorSearch:M,setVendorSearch:F,filteredVendors:X,selectedVendors:n,toggleVendor:se,clearAllFilters:ae,activeFiltersCount:t.length+o.length+n.length+(c?1:0)+(d?1:0)})}),s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-4 gap-6",children:[s.jsx("aside",{className:"hidden lg:block lg:col-span-1",children:s.jsx(ne,{children:s.jsxs(oe,{className:"p-6 space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h3",{className:"font-semibold text-lg",children:"Filtre"}),s.jsx(p,{variant:"ghost",size:"sm",onClick:ae,className:"text-xs",children:"Șterge toate"})]}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-semibold mb-4",children:"PREȚ (RON):"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx(f,{placeholder:"Minimum",type:"number",value:c,onChange:e=>v(e.target.value)}),s.jsx(f,{placeholder:"Max",type:"number",value:d,onChange:e=>w(e.target.value)})]})]}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-semibold mb-4",children:"CATEGORII:"}),s.jsx(f,{placeholder:"caută după categorie",className:"mb-3",value:S,onChange:e=>P(e.target.value)}),s.jsx("div",{className:"space-y-3 max-h-64 overflow-y-auto",children:Z.map(e=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(z,{id:e,checked:t.includes(e),onCheckedChange:()=>Y(e)}),s.jsx("label",{htmlFor:e,className:"text-sm cursor-pointer",children:e})]},e))})]}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-semibold mb-4",children:"BRAND:"}),s.jsx(f,{placeholder:"caută după nume brand",className:"mb-3",value:k,onChange:e=>_(e.target.value)}),s.jsx("div",{className:"space-y-3 max-h-64 overflow-y-auto",children:Q.map(e=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(z,{id:`brand-${e}`,checked:o.includes(e),onCheckedChange:()=>ee(e)}),s.jsx("label",{htmlFor:`brand-${e}`,className:"text-sm cursor-pointer",children:e})]},e))})]}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-semibold mb-4",children:"VÂNZĂTOR:"}),s.jsx(f,{placeholder:"caută după vânzător",className:"mb-3",value:M,onChange:e=>F(e.target.value)}),s.jsx("div",{className:"space-y-3 max-h-64 overflow-y-auto",children:X.map(e=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(z,{id:`vendor-${e}`,checked:n.includes(e),onCheckedChange:()=>se(e)}),s.jsx("label",{htmlFor:`vendor-${e}`,className:"text-sm cursor-pointer",children:e})]},e))})]})]})})}),s.jsxs("main",{className:"lg:col-span-3",children:[s.jsxs("div",{className:"mb-6",children:[s.jsx("h1",{className:"text-2xl font-bold mb-2",children:t.length===1?t[0]:"Produse disponibile"}),s.jsxs("p",{className:"text-muted-foreground mb-4",children:[t.length===1?`Produse din categoria ${t[0]}`:"Peste 580,000 de produse disponibile"," • Pagina ",r]}),s.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[s.jsxs("div",{className:"flex gap-2 flex-1",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(f,{placeholder:"Caută după numele produsului...",value:j,onChange:e=>y(e.target.value),onKeyDown:Ce,className:"w-full"}),j&&s.jsx(p,{variant:"ghost",size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2 h-7",onClick:()=>{y(""),N("")},children:"Șterge"})]}),s.jsxs(p,{onClick:()=>N(j),className:"shrink-0",children:[s.jsx(Me,{className:"h-4 w-4 mr-2"}),"Caută"]})]}),s.jsxs(Ie,{value:m,onValueChange:J,children:[s.jsx(qe,{className:"w-full sm:w-[200px]",children:s.jsx(ze,{placeholder:"Sortează după"})}),s.jsxs(Re,{children:[s.jsx(C,{value:"newest",children:"Cele mai noi"}),s.jsx(C,{value:"price-asc",children:"Preț: Mic la Mare"}),s.jsx(C,{value:"price-desc",children:"Preț: Mare la Mic"}),s.jsx(C,{value:"name-asc",children:"Nume: A-Z"})]})]})]})]}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6",children:g.map(e=>s.jsx(ne,{className:"hover:shadow-lg transition-shadow group",children:s.jsxs(oe,{className:"p-4",children:[s.jsxs(_e,{to:`/product/${e.slug||e.id}`,className:"block",children:[s.jsx("div",{className:"aspect-square bg-muted rounded mb-4 overflow-hidden",children:s.jsx(Te,{src:e.image_url||"/placeholder.svg",alt:De({name:e.name,brand:e.brand,category:e.category,store:e.store_name,price:e.price}),className:"w-full h-full group-hover:scale-105 transition-transform duration-300",objectFit:"contain",loading:"lazy",sizes:"(max-width: 768px) 100vw, (max-width: 1280px) 50vw, 33vw"})}),s.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:e.store_name||"N/A"}),s.jsx("h3",{className:"font-medium text-sm mb-3 line-clamp-2 min-h-[2.5rem] group-hover:text-primary transition-colors",children:e.name})]}),s.jsx("div",{className:"flex items-center justify-between mb-4",children:s.jsxs("p",{className:"text-2xl font-bold",children:[e.price.toFixed(2)," ",s.jsx("span",{className:"text-sm",children:"RON"})]})}),s.jsx(p,{asChild:!0,className:"w-full bg-danger hover:bg-danger/90 text-danger-foreground",children:s.jsxs("a",{href:e.affiliate_link,target:"_blank",rel:"noopener",onClick:ce(e.id,e.name),children:["Cumpără acum",s.jsx(Je,{className:"ml-2 h-4 w-4"})]})})]})},e.id))}),g.length===0&&!H&&s.jsx("div",{className:"text-center py-12",children:s.jsx("p",{className:"text-muted-foreground",children:"Nu au fost găsite produse."})}),(r>1||G)&&s.jsxs("nav",{className:"flex items-center justify-center gap-4 mt-8","aria-label":"Paginare produse",children:[s.jsxs(p,{variant:"outline",onClick:()=>E(r-1),disabled:r===1,"aria-label":"Pagina anterioară",className:"gap-2",children:[s.jsx(Ee,{className:"h-4 w-4"}),s.jsx("span",{className:"hidden sm:inline",children:"Anterior"})]}),s.jsxs("span",{className:"text-sm text-muted-foreground",children:["Pagina ",r]}),s.jsxs(p,{variant:"outline",onClick:()=>E(r+1),disabled:!G,"aria-label":"Pagina următoare",className:"gap-2",children:[s.jsx("span",{className:"hidden sm:inline",children:"Următorul"}),s.jsx(We,{className:"h-4 w-4"})]})]})]})]})]}),s.jsx(Oe,{}),s.jsx(Fe,{})]})};export{gs as default};