1import{j as e,a3 as g,ab as P,br as R,fr as F,a4 as L}from"./vendor-data-eBPZki-Z.js";import{dr as U,cB as w}from"./vendor-zod-Bei2Z9MS.js";import{L as l,r as u,n as _}from"./vendor-react-BgtJhS2O.js";import{_ as B,cJ as $,m as x,u as A,ci as H,dx as O,dy as Q,bn as T,aY as V,dz as q,d5 as G,dA as J}from"./index-DTQGL8n8.js";import{u as X}from"./useTrackScreen-BLOOZkQ_.js";import{M as Y}from"./MembershipDiscoverCard-BbOwg7OP.js";import{S as K}from"./user-multiple-F5jephUU.js";function W({item:r,onSubscribe:i}){const a=r.creator.name?.trim()||r.creator.username,n=U(r.plan.priceCents),o=r.plan.description?.trim()||r.plan.name,d=r.memberCount,c=a[0]?.toUpperCase()??"?",t=`/${encodeURIComponent(r.creator.username)}`;return e.jsxs("article",{"data-testid":"membership-inline-card",className:"flex flex-col gap-3 border-b border-border-light/60 p-4 dark:border-border-dark/60",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-start gap-2",children:[e.jsx(l,{to:t,"aria-label":`View ${a}'s profile`,className:"shrink-0",children:r.creator.avatarUrl?e.jsx("img",{src:r.creator.avatarUrl,alt:"",className:"size-9 rounded-full object-cover"}):e.jsx("div",{className:"flex size-9 items-center justify-center rounded-full bg-surface text-sm font-semibold text-text-secondary dark:bg-bg-dark dark:text-text-secondary-dark",children:c})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[e.jsx(l,{to:t,className:"truncate text-[15px] font-semibold leading-[18px] tracking-[-0.23px] text-text hover:underline dark:text-text-dark",children:a}),e.jsx(B,{badges:r.creator.badges,size:12}),d!=null?e.jsxs("span",{className:"flex shrink-0 items-center gap-1 text-xs font-medium text-text-secondary dark:text-text-secondary-dark",children:[e.jsx($,{as:K,size:14,className:"text-text-secondary dark:text-text-secondary-dark"}),w(d)]}):null]}),e.jsx("p",{className:"truncate text-[13px] font-normal leading-5 tracking-[-0.23px] text-text-secondary dark:text-text-secondary-dark",children:n})]})]}),i?e.jsx("button",{type:"button","data-testid":"membership-inline-subscribe",onClick:()=>i(r),"aria-label":`Subscribe to ${a}`,className:"shrink-0 rounded-lg border border-text bg-text px-3.5 py-2 text-xs font-semibold leading-[18px] text-bg dark:border-text-dark dark:bg-text-dark dark:text-bg-dark",children:"Subscribe"}):null]}),o?e.jsx("p",{className:"text-[15px] font-normal leading-5 tracking-[-0.23px] text-text-secondary dark:text-text-secondary-dark line-clamp-3",children:o}):null]})}function Z({items:r,isLoading:i,isError:a,isFetchingNextPage:n,onRetry:o,onSubscribe:d,sentinelRef:c}){return i&&r.length===0?e.jsx("div",{className:"flex flex-1 justify-center py-12","data-testid":"memberships-discover-loading",children:e.jsx(x,{size:"lg"})}):a&&r.length===0?e.jsxs("div",{"data-testid":"memberships-discover-error",className:"flex flex-1 flex-col items-center justify-center gap-2 p-8 text-center",children:[e.jsx("p",{className:"text-text-secondary dark:text-text-secondary-dark",children:"Couldn't load memberships."}),e.jsx("button",{type:"button","data-testid":"memberships-discover-retry",onClick:o,className:"font-semibold text-brand",children:"Retry"})]}):r.length===0?e.jsx("div",{"data-testid":"memberships-discover-empty",className:"flex flex-1 items-center justify-center p-8 text-text-secondary dark:text-text-secondary-dark",children:"No memberships found."}):e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{"data-testid":"memberships-discover-featured",className:"hidden md:flex gap-2 overflow-x-auto customScrollX px-4 py-3",children:r.map(t=>e.jsx(Y,{item:t,onSubscribe:d},`rail-${t.plan.ulid||t.creatorUlid}`))}),r.map(t=>e.jsx(W,{item:t,onSubscribe:d},t.plan.ulid||t.creatorUlid)),e.jsx("div",{ref:c,className:"h-px","aria-hidden":!0}),n?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(x,{size:"sm"})}):null]})}const ee=300;function re(){X("Memberships Discover");const r=g("creator_memberships"),i=A(s=>s.isLoggedIn),a=H(),[n,o]=u.useState(""),d=n.trim(),c=P(d,ee),t=O(d,c),[m,b]=u.useState("for-you"),f=Q(t,m,d.length>
10),k=s=>{b(s),o("")},y=s=>{n.trim()&&!s.trim()&&b("for-you"),o(s)},{data:v,isLoading:j,isError:N,isFetching:C,isFetchingNextPage:p,hasNextPage:S,refetch:D,fetchNextPage:M}=R({limit:20,q:f},r&&i),I=J(m,t,C),z=F(v?.pages),E=T({fetchNextPage:M,hasNextPage:S,isFetchingNextPage:p,rootMargin:"1200px"});return e.jsxs("div",{className:"mx-auto flex min-h-[60vh] max-w-[600px] flex-col","data-testid":"memberships-discover-page",children:[a.checkoutHost,e.jsxs("header",{className:"sticky top-0 z-10 flex items-center gap-2 border-b border-border-light/60 bg-bg px-2 py-2 dark:border-border-dark/60 dark:bg-bg-dark",children:[e.jsx(l,{to:"/feed","aria-label":"Back",className:"flex size-10 items-center justify-center rounded-full text-text hover:bg-surface dark:text-text-dark dark:hover:bg-surface-dark",children:e.jsx(V,{className:"size-5"})}),e.jsx("h1",{className:"flex-1 text-center text-lg font-bold text-text dark:text-text-dark",children:"Discover Memberships"}),e.jsx("div",{className:"size-10","aria-hidden":!0})]}),r?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex gap-1.5 overflow-x-auto scrollbar-hide px-4 py-3",role:"tablist","aria-label":"Membership categories",children:q.map(s=>{const h=s.id===I;return e.jsx("button",{type:"button",role:"tab","aria-selected":h,"data-testid":`membership-category-${s.id}`,onClick:()=>k(s.id),className:h?"shrink-0 rounded-lg border border-text bg-text px-[15px] py-2 text-[13px] font-bold text-bg dark:border-text-dark dark:bg-text-dark dark:text-bg-dark":"shrink-0 rounded-lg border border-border-light bg-bg-elevated px-[15px] py-2 text-[13px] font-bold text-text-secondary dark:border-border-dark dark:bg-bg-elevated-dark dark:text-text-secondary-dark",children:s.label},s.id)})}),e.jsx(Z,{items:z,isLoading:j,isError:N,isFetchingNextPage:p,onRetry:()=>void D(),onSubscribe:a.openFromDiscoverItem,sentinelRef:E}),e.jsx("div",{className:"sticky bottom-0 border-t border-border-light/60 bg-bg px-3.5 py-2 dark:border-border-dark/60 dark:bg-bg-dark",children:e.jsx(G,{value:n,onChange:y,placeholder:"Search content","aria-label":"Search content","data-testid":"memberships-discover-search"})})]}):e.jsx("p",{className:"p-8 text-center text-text-secondary dark:text-text-secondary-dark",children:"Memberships aren't available yet."})]})}function ce(){const r=g("creator_memberships"),{isPending:i}=L();return r?e.jsx(re,{}):i?e.jsx("div",{className:"flex min-h-[60vh] items-center justify-center",children:e.jsx(x,{size:"lg"})}):e.jsx(_,{to:"/feed",replace:!0})}export{ce as default};
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.