1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22b1a6eb-a3c6-423e-9deb-a7e2ed9decff",e._sentryDebugIdIdentifier="sentry-dbid-22b1a6eb-a3c6-423e-9deb-a7e2ed9decff")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3021],{5641:function(e,t,s){Promise.resolve().then(s.bind(s,8739))},8739:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return S}});var a=s(7437),i=s(2265),l=s(4438),n=s(3581),r=s(9763);let o=(0,r.Z)("ScanSearch",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]]);var c=s(2449),d=s(7760);let x=(0,r.Z)("Tag",[["path",{d:"M12 2H2v10l9.29 9.29c.94.94 2.48.94 3.42 0l6.58-6.58c.94-.94.94-2.48 0-3.42L12 2Z",key:"14b2ls"}],["path",{d:"M7 7h.01",key:"7u93v4"}]]);var m=s(1239),h=s(8906),p=s(2023);let u=(0,r.Z)("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var b=s(407),g=s(1790),f=s(8349),w=s(4716),y=s(9308),j=s(8676);let N=[{icon:n.Z,step:"01",title:"Find an Outfit",desc:"Spot a look you love â on Instagram, Pinterest, a screenshot, or any image URL anyw
1here on the web."},{icon:o,step:"02",title:"Paste & Analyze",desc:"Drop the image URL into the box above. Our AI scans the photo and identifies every clothing item â top, bottom, shoes, accessories."},{icon:c.Z,step:"03",title:"Shop the Match",desc:"Get instant links to identical and similar items across major retailers. Compare prices, pick your size, and buy in one click."}],k=[{icon:d.Z,label:"Instagram Posts",desc:"Reels, photos, carousels"},{icon:c.Z,label:"Pinterest Pins",desc:"Boards & idea pins"},{icon:n.Z,label:"Screenshots",desc:"Upload directly from your device"},{icon:o,label:"Any Image URL",desc:"Lookbooks, blogs, retailers"}],v=[{icon:o,title:"AI Outfit Detection",desc:"Trained on millions of fashion images. Recognizes tops, bottoms, shoes, bags, and accessories â even when partly hidden."},{icon:x,title:"Real Product Links",desc:"We find exact and look-alike matches from major retailers, with real prices and a direct buy link. No guesswork."},{icon:m.Z,title:"Instant Results",desc:"Most analyses finish in under 5 seconds. No waiting, no queues â drop a link, get a shopping list."},{icon:h.Z,title:"Private & Anonymous",desc:"No login required. We don't save your images or build a profile on you â every search is processed on the fly and discarded."}],I=[{q:"What images work best with Shop the Look?",a:"Clear, well-lit photos with the outfit fully visible give the most accurate matches. Front-facing full-body shots work best â like a typical Instagram OOTD post or Pinterest pin."},{q:"Does it find exact matches or just similar items?",a:"Both. Our AI runs an exact-match pass via visual search f
1irst; if no exact match exists, it returns the closest look-alikes by silhouette, color, and pattern."},{q:"Is Shop the Look free to use?",a:"Yes â 100% free with no signup. Paste an image URL, get the matches. There are no usage caps for normal browsing."},{q:"Can I shop a screenshot from my phone?",a:"Soon. Right now we accept any public image URL â including Instagram, Pinterest, and direct image links. Screenshot upload is coming next."}];function S(){let[e,t]=(0,i.useState)(null),[s,n]=(0,i.useState)(!1),[r,o]=(0,i.useState)(null),[c,d]=(0,i.useState)(null),{t:x}=(0,j.$)(),m=(0,i.useCallback)(async e=>{n(!0),o(null),t(null);try{let s=await fetch("/api/shop/analyze",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({imageUrl:e})}),a=await s.json();a.success&&a.detectedItems.length>0?(t(a),l.A.success(x("shop.success"))):o(a.error||x("shop.noItemsDetected"))}catch{o(x("error.unexpected"))}finally{n(!1)}},[x]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Header,{}),(0,a.jsxs)("main",{className:"flex-1",children:[(0,a.jsxs)("section",{className:"relative overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0 -z-10",children:[(0,a.jsx)("div",{className:"absolute top-0 left-1/4 w-96 h-96 bg-pink-500/10 rounded-full blur-3xl"}),(0,a.jsx)("div",{className:"absolute top-20 right-1/4 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl"}),(0,a.jsx)("div",{className:"absolute top-40 left-1/2 w-96 h-96 bg-amber-500/5 rounded-full blur-3xl"})]}),(0,a.jsxs)("div",{className:"container mx-auto px-4 pt-10 pb-10 sm:pt-16 sm:pb-14 md:pt-24 md:pb-20",children:[(0,a.jsxs)("div",{className:"text-center max-w-3xl mx-auto mb-8 sm:mb-12",children:[(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-pink-500/10 border border-pink-500/20 mb-5",children:[(0,a.jsx)(p.Z,{className:"w-4 h-4 text-pink-400"}),(0,a.jsx)("span",{className:"text-sm font-medium text-pink-400",children:"AI-Powered"})]}),(0,a.jsxs)("h1",{className:"text-[2rem] leading-[1.1] sm:text-4xl md:text-5xl md:leading-tight font-bold mb-4 sm:mb-6 tracking-tight text-balance",children:[x("shop.title1")," ",(0,a.jsx)("span",{className:"gradient-text",children:x("shop.title2")})]}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-muted-foreground max-w-2xl mx-auto px-2",children:x("shop.subtitle")})]}),(0,a.jsx)("div",{className:"max-w-2xl mx-auto",children:(0,a.jsx)(w.a,{onSubmit:m,isLoading:s})}),r&&(0,a.jsx)("div",{className:"max-w-2xl mx-auto mt-6",children:(0,a.jsxs)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-xl px-5 py-4 flex items-start gap-3",children:[(0,a.jsx)(u,{className:"w-5 h-5 text-red-400 shrink-0 mt-0.5"}),(0,a.jsx)("p",{className:"text-sm text-red-400",children:r})]})}),(null==e?void 0:e.mock)&&(0,a.jsx)("div",{className:"max-w-2xl mx-auto mt-4",children:(0,a.jsx)("div",{className:"bg-yellow-500/10 border border-yellow-500/20 rounded-xl px-5 py-3 text-center",children:(0,a.jsx)("p",{className:"text-xs text-yellow-400",children:x("shop.mockBanner")})})}),e&&e.detectedItems.length>0&&(()=>{let t=/\.(fbcdn\.net|cdninstagram\.com)/.test(e.imageUrl)?`/api/media?url=${encodeURIComponent(e.imageUrl)}`:e.imageUrl;return(0,a.jsx)("div",{className:"max-w-2xl mx-auto mt-10",children:(0,a.jsx)(y.e,{itemLabel:e.detectedItems[0].label,products:e.detectedItems[0].products,previewImageUrl:t})})})()]})]}),!e&&(0,a.jsx)("section",{className:"py-12 sm:py-16 px-4",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,a.jsxs)("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-3",children:["How ",(0,a.jsx)("span",{className:"gradient-text",children:"Shop the Look"})," Works"]}),(0,a.jsx)("p",{className:"text-center text-white/60 mb-10 max-w-xl mx-auto",children:"From outfit photo to checkout in three simple steps."}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-5",children:N.map(e=>(0,a.jsxs)("div",{className:"relative p-6 rounded-2xl bg-white/[0.03] border border-white/[0.06] hover:border-pink-500/30 transition-colors",children:[(0,a.jsx)("span",{className:"absolute -top-3 left-6 inline-flex items-center justify-center w-9 h-9 rounded-full bg-gradient-to-br from-pink-500 to-purple-500 text-white text-xs font-bold",children:e.step}),(0,a.jsx)(e.icon,{className:"w-7 h-7 text-pink-400 mt-3 mb-3"}),(0,a.jsx)("h3",{className:"font-semibold text-white mb-1.5",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-white/60 leading-relaxed",children:e.desc})]},e.step))})]})}),!e&&(0,a.jsx)("section",{className:"py-10 px-4",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,a.jsxs)("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-3",children:["Works With ",(0,a.jsx)("span",{className:"gradient-text",children:"Any Source"})]}),(0,a.jsx)("p",{className:"text-center text-white/60 mb-8 max-w-xl mx-auto",children:"If you have an image URL, we can shop it."}),(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:k.map(e=>(0,a.jsxs)("div",{className:"p-4 rounded-xl bg-white/[0.03] border border-white/[0.06] text-center",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-10 h-10 rounded-lg bg-gradient-to-br from-pink-500/15 to-purple-500/15 border border-pink-500/15 mb-3",children:(0,a.jsx)(e.icon,{className:"w-5 h-5 text-pink-400"})}),(0,a.jsx)("h3",{className:"font-semibold text-white text-sm mb-1",children:e.label}),(0,a.jsx)("p",{className:"text-xs text-white/50 leading-relaxed",children:e.desc})]},e.label))})]})}),!e&&(0,a.jsx)("section",{className:"py-12 sm:py-16 px-4",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,a.jsxs)("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-3",children:["Why ",(0,a.jsx)("span",{className:"gradient-text",children:"Shop the Look"}),"?"]}),(0,a.jsx)("p",{className:"text-center text-white/60 mb-10 max-w-xl mx-auto",children:"Built for people who screenshot outfits â and want to actually buy them."}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-5",children:v.map(e=>(0,a.jsxs)("div",{className:"p-5 rounded-xl bg-white/[0.03] border border-white/[0.06] hover:border-pink-500/30 transition-colors",children:[(0,a.jsx)(e.icon,{className:"w-6 h-6 text-pink-400 mb-3"}),(0,a.jsx)("h3",{className:"font-semibold text-white mb-1.5",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-white/60 leading-relaxed",children:e.desc})]},e.title))})]})}),!e&&(0,a.jsx)("section",{className:"py-12 sm:py-16 px-4",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,a.jsxs)("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-3",children:["Frequently Asked"," ",(0,a.jsx)("span",{className:"gradient-text",children:"Questions"})]}),(0,a.jsx)("p",{className:"text-center text-white/60 mb-8 max-w-xl mx-auto",children:"Everything you need to know about Shop the Look."}),(0,a.jsx)("div",{className:"space-y-3",children:I.map((e,t)=>(0,a.jsxs)("div",{className:"rounded-xl border border-white/[0.08] bg-white/[0.02] overflow-hidden",children:[(0,a.jsxs)("button",{onClick:()=>d(c===t?null:t),className:"w-full text-left px-5 py-4 flex items-center justify-between gap-4",children:[(0,a.jsx)("span",{className:"font-medium text-white text-[15px]",children:e.q}),(0,a.jsx)(b.Z,{className:`w-4 h-4 text-white/40 shrink-0 transition-transform ${c===t?"rotate-90":""}`})]}),c===t&&(0,a.jsx)("div",{className:"px-5 pb-4",children:(0,a.jsx)("p",{className:"text-sm text-white/60 leading-relaxed",children:e.a})})]},t))})]})})]}),(0,a.jsx)(f.Footer,{})]})}},3581:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(9763).Z)("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]])},5863:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(9763).Z)("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},8906:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(9763).Z)("Shield",[["path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10",key:"1irkt0"}]])}},function(e){e.O(0,[8796,4438,8676,1790,5161,2971,6504,1744],function(){return e(e.s=5641)}),_N_E=e.O()}]);
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.