1import{r,j as e}from"./vendor-DSwV2Ogx.js";import{A as h}from"./AppHeader-D9hc28rS.js";import{P as f}from"./ProductCard-BWDkAp9Y.js";import{S as j}from"./SEO-DplevACw.js";import{u as v,a as S,j as k,E as N,a7 as y,h as C}from"./index-BKUCpOKv.js";import{L as M}from"./LazyJoinModal-BBVkRrbc.js";import{t as w}from"./user-facing-error-DMYRD6-z.js";import{C as P}from"./chevron-left-x5vtxmEC.js";import"./instasport-logo-DJ526qEf.js";import"./MemberMenu-uLMB720N.js";import"./map-pin-CVwSYK_7.js";import"./StorefrontImage-Cnw0wE-q.js";import"./activity-hIN3VD_z.js";import"./clock-zH_NLYkR.js";import"./lock-C8F7v9A9.js";const E=[{label:"All",slug:""},{label:"Badminton",slug:"badminton"},{label:"Cricket",slug:"cricket"},{label:"Football",slug:"football"},{label:"Swimming",slug:"swimming"},{label:"Running",slug:"running"},{label:"Cycling",slug:"cycling"},{label:"Eyewear",slug:"eyewear"},{label:"Tennis",slug:"tennis"},{label:"Pickleball",slug:"pickleball"},{label:"Table Tennis",slug:"table-tennis"},{label:"Padel",slug:"padel"},{label:"Fitness / Gym",slug:"fitness"},{label:"Nutrition",slug:"nutrition"}];function U(){const[,c]=v(),{isMember:u}=S(),[g,m]=r.useState(!1),[s,b]=r.useState(""),[o,d]=r.useState([]),[a,p]=r.useState(!0),[i,x]=r.useState("");r.useEffect(()=>{p(!0),x(""),k("member-deals",{limit:100}).then(({products:t})=>{d(t),t.length>0&&N("member_deals","Member Deals",t)}).catch(t=>{x(w(t,"We couldn't load deals. Please try again.")),d([])}).finally(()=>p(!1))},[]);const n=r.useMemo(()=>s?o.filter(t=>y(t)===s):o,[o,s]);return e.jsxs("div",{className:"min-h-screen font-['Inter']",children:[e.jsx(j,{title:"Member Deals",description:"Exclusive member-only pricing on premium sports gear across all sports.",path:"/deals"}),e.jsx(M,{open:g,onClose:()=>m(!1)}),e.jsx(h,{}),e.jsxs("div",{className:"max-w-[960px] mx-auto px-3 md:px-6 pt-8 pb-16",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[e.jsx("button",{onClick:()=>c("/home"),className:"flex items-center gap-0.5 text-[13px] text-white/50 hover:text-white/70 transition-colors",children:e.jsx(P,{size:18,strokeWidth:2})}),e.jsx("h1",{className:"font-['DM_Serif_Display'] text-[32px] md:text-[44px] text-white leading-none",children:"Member Deals"})]}),e.jsx("div",{className:"flex items-center gap-2 mt-4 mb-8 overflow-x-auto pb-1",children:E.map(({label:t,slug:l})=>e.jsx("button",{onClick:()=>b(l),className:"rounded-full px-4 py-2 text-[13px] font-medium shrink-0 transition-all",style:{background:s===l?"#C8A84A":"var(--card-bg)",border:s===l?"1px solid #C8A84A":"1px solid var(--card-border)",color:s===l?"#0F0E0C":"var(--text-faint)"},children:t},l||"all"))}),a&&e.jsx("div",{className:"grid grid-cols-2 items-stretch md:grid-cols-3 lg:grid-cols-4 gap-3",children:[0,1,2,3,4,5].map(t=>e.jsx("div",{className:"rounded-[20px] p-4 h-[320px] animate-pulse",style:{background:"var(--card-bg)",border:"1px solid var(--card-border)"}},t))}),!a&&i&&e.jsx("div",{className:"text-center py-16",children:e.jsx("p",{className:"text-[14px] text-red-400/70",children:i})}),!a&&!i&&n.length===0&&e.jsxs("div",{className:"text-center py-16",children:[e.jsxs("p",{className:"text-[15px] text-white/40",children:["No deals found",s?" for this sport":"","."]}),e.jsx("p",{className:"text-[13px] text-white/25 mt-1",children:"Check back later for member-only discounts."})]}),!a&&!i&&n.length>0&&e.jsx("div",{className:"grid grid-cols-2 items-stretch md:grid-cols-3 lg:grid-cols-4 gap-3",children:n.map((t,l)=>e.jsx(f,{product:t,isMember:u,onJoin:()=>m(!0),onClick:()=>{C(t,"member_deals","Member Deals",l),c(`/product/${t.handle}`)}},t.id))})]})]})}export{U as MemberDeals};
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.