1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[163],{2194:(e,t,r)=>{"use strict";r.d(t,{i:()=>A,q:()=>N});var a=r(22207),s=r(16023),n=r(56955),i=r(46861),l=r(38714),d=r(99914),o=r(39718),c=r(306),u=r(3525),m=r(443);let f=e=>e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=2e3?(e/1e3).toFixed(1)+"K":e.toString():"0";var h=r(6565),x=r(95840),p=r(48888);function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;return!e||e.length<2*t+2?e:"".concat(e.slice(0,t+2),"...").concat(e.slice(-t))}function g(e,t){if(!e||!t)return!1;try{return(0,p.b)(e).toLowerCase()===(0,p.b)(t).toLowerCase()}catch(e){return!1}}var y=r(77213),b=r(6380),w=r(17967),j=r(39982);let N=(e,t)=>{var r,a;let s=t.toLowerCase(),n=e.username.toLowerCase(),i=e.display_name.toLowerCase(),l=0;return n===s||n==="".concat(s,".eth")?l+=1e3:n.startsWith(s)?l+=600:n.includes(s)&&(l+=500),i===s||i.startsWith(s)?l+=500:i.includes(s)&&(l+=400),e.fid.toString()===t&&(l+=950),n.includes(s)&&(l+=Math.max(0,100-n.length)),(null==(a=e.verified_addresses)||null==(r=a.eth_addresses)?void 0:r.length)&&(l+=30),l+=10*Math.log(e.follower_count+1)};function A(e){let{apiKey:t,alchemyApiKey:r,onUserClick:u,placeholder:m="Search by username, ENS, or address...",variant:f="default",className:v,inputClassName:A,buttonClassName:P,layout:_="horizontal",showIcon:C=!0,autoSearch:E=!1,maxResults:S=5,searchFunction:z,userCardComponent:F,onError:L,showAddresses:M=!0,showENS:D=!0}=e,[I,R]=s.useState(""),[$,q]=s.useState(!1),[B,T]=s.useState(""),[U,G]=s.useState([]),[Q,V]=s.useState(),[K,O]=s.useState(!1),W=s.useRef(void 0),{sdk:X,isSDKLoaded:Y,isMiniApp:Z}=(0,l.w)(),H=s.useMemo(()=>{let e=r||"VwtjBlqt0QChA3myNx9o6",t=e?(0,j.Bz)(1,e):void 0;return(0,y.l)({chain:w.r,transport:(0,b.L)(t)})},[r]),J=async(e,r)=>{var a;let s="https://api.neynar.com/v2/farcaster/user/search?q=".concat(encodeURIComponent(e),"&limit=").concat(S);r&&(s+="&cursor=".concat(encodeURIComponent(r)));let n=await fetch(s,{method:"GET",headers:{accept:"application/json",api_key:t}});if(!n.ok)throw Error((await n.json()).message||"API Error: ".concat(n.status));let i=await n.json();return{users:r?i.result.users||[]:(i.result.users||[]).map(t=>({user:t,score:N(t,e)})).sort((e,t)=>t.score-e.score).map(e=>e.user),nextCursor:null==(a=i.result.next)?void 0:a.cursor}},ee=async e=>{let r="https://api.neynar.com/v2/farcaster/user/bulk-by-address?addresses=".concat(encodeURIComponent(e)),a=await fetch(r,{method:"GET",headers:{accept:"application/json",api_key:t}});if(!a.ok){if(404===a.status)return[];throw Error((await a.json()).message||"API Error: ".concat(a.status))}let s=await a.json(),n=[];for(let[t,r]of Object.entries(s))g(t,e)&&Array.isArray(r)&&n.push(...r);return n},et=async e=>{try{return await H.getEnsAddress({name:e})||null}catch(e){return null}},er=async e=>{try{let t=await H.getEnsName({address:e});if(t){let r=await H.getEnsAddress({name:t});if(!g(r,e))return null}return t||null}catch(e){return null}},ea=async(e,t,r,a)=>{var s,n,i,l,d;let o=function(e){if(!e||0===e.trim().length)return"username";let t=e.trim();return(0,x.P)(t)?"address":t.includes(".")&&t.length>3&&/\.(eth|xyz|luxe|kred|art|club|test)$/i.test(t)?"ens":"username"}(e),c=[];if("address"===o){let t=function(e){try{if(!(0,x.P)(e))return null;return(0,p.b)(e)}catch(e){return null}}(e);if(!t)throw Error("Invalid Ethereum address");let[r,a]=await Promise.all([D?er(t):Promise.resolve(null),ee(t)]);if(a.length>0)for(let e of a){let a=(null==(s=e.verified_addresses)?void 0:s.eth_addresses)||[];c.push({primaryAddress:t,ensName:r||void 0,farcaster:e,addresses:a.filter(e=>!g(e,t)).concat(t),source:"address"})}else c.push({primaryAddress:t,ensName:r||void 0,addresses:[t],source:"address"})}else if("ens"===o){let t=await et(e);if(!t)throw Error("ENS name could not be resolved");let r=await ee(t);if(r.length>0)for(let a of r){let r=(null==(n=a.verified_addresses)?void 0:n.eth_addresses)||[];c.push({primaryAddress:t,ensName:e,farcaster:a,addresses:r.filter(e=>!g(e,t)).concat(t),source:"ens"})}else c.push({primaryAddress:t,ensName:e,addresses:[t],source:"ens"})}else{let{users:t,nextCursor:r}=await J(e,a);for(let e of t){let t=null==(l=e.verified_addresses)||null==(i=l.eth_addresses)?void 0:i[0];if(!t)continue;let r=D?await er(t):null;c.push({primaryAddress:t,ensName:r||void 0,farcaster:e,addresses:(null==(d=e.verified_addresses)?void 0:d.eth_addresses)||[],source:"farcaster"})}return{users:c,nextCursor:r}}return{users:c,nextCursor:void 0}},es=async function(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!z&&!t.trim()){let e="API key is required";T(e),null==L||L(e);return}if(!e.trim()){let e="Please enter a search term";T(e),null==L||L(e);return}try{r?O(!0):(q(!0),G([]),V(void 0)),T("");let{users:a,nextCursor:s}=await (z||ea)(e,t,S,r?Q:void 0);if(r?G(e=>[...e,...a]):G(a),V(s),!r&&0===a.length){let e="No users found matching your search";T(e),null==L||L(e)}}catch(t){let e=t instanceof Error?t.message:"Failed to search users";T(e),r||(G([]),V(void 0)),null==L||L(e)}finally{q(!1),O(!1)}},en=async e=>{try{e.farcaster&&Z?await X.actions.viewProfile({fid:e.farcaster.fid}):e.farcaster?window.open("https://farcaster.xyz/".concat(e.farcaster.username),"_blank"):e.ensName?window.open("https://app.ens.domains/".concat(e.ensName),"_blank"):window.open("https://etherscan.io/address/".concat(e.primaryAddress),"_blank")}catch(t){let e=t instanceof Error?t.message:"Failed to view profile";T(e),null==L||L(e)}},ei=async()=>{await es(I)},el=(0,h.cn)("flex flex-col gap-4 w-full",v),ed=(0,h.cn)("flex gap-2 w-full","vertical"===_?"flex-col":"flex-row");return(0,a.jsxs)("div",{className:el,children:[(0,a.jsxs)("div",{className:ed,children:[(0,a.jsxs)("div",{className:"flex-1 flex gap-2",children:[(0,a.jsx)(i.p,{type:"text",placeholder:m,value:I,onChange:e=>{let t=e.target.value;if(R(t),T(""),W.current&&clearTimeout(W.current),""===t){G([]),V(void 0);return}E&&t.length>2&&(W.current=setTimeout(()=>{es(t)},500))},onKeyDown:e=>{"Enter"===e.key&&ei()},className:(0,h.cn)("w-full",B&&"border-red-500",A)}),I&&(0,a.jsx)(n.$,{variant:"outline",size:"icon",onClick:()=>{R(""),G([]),V(void 0),T("")},disabled:$,className:"shrink-0",title:"Clear search",children:(0,a.jsx)(d.A,{className:"h-4 w-4"})})]}),(0,a.jsx)(n.$,{variant:f,onClick:ei,disabled:$||!I.trim()||!Y,className:(0,h.cn)("vertical"===_?"w-full":"shrink-0",P),children:$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-current mr-2"}),"Searching..."]}
1):(0,a.jsxs)(a.Fragment,{children:[C&&(0,a.jsx)(o.A,{className:"h-4 w-4 mr-2"}),"Search"]})})]}),B&&(0,a.jsx)("div",{className:"text-sm text-red-500 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded-md p-3",children:B}),U.length>0&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(c.A,{className:"h-4 w-4"}),"Showing ",U.length," user",1!==U.length?"s":""]})}),(0,a.jsx)("div",{className:"grid gap-3",children:U.map(e=>{var t;return(0,a.jsx)(F||k,{user:e,onClick:()=>{u?u(e):en(e)},showAddresses:M,showENS:D},e.primaryAddress+((null==(t=e.farcaster)?void 0:t.fid)||""))})}),!!Q&&(0,a.jsx)("div",{className:"flex justify-center pt-4",children:(0,a.jsx)(n.$,{variant:"outline",onClick:()=>es(I,!0),disabled:K||$,className:"w-full sm:w-auto",children:K?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-current mr-2"}),"Loading more..."]}):(0,a.jsx)(a.Fragment,{children:"Load More"})})})]})]})}function k(e){var t,r,s,n,i,l;let{user:d,onClick:o,showAddresses:c=!0,showENS:h=!0}=e,x=!!d.farcaster,p=(null==(t=d.farcaster)?void 0:t.display_name)||d.ensName||v(d.primaryAddress),g=null==(r=d.farcaster)?void 0:r.username,y=null==(s=d.farcaster)?void 0:s.pfp_url;return(0,a.jsxs)("div",{onClick:o,className:"p-2 sm:p-3 border border-border rounded-lg hover:bg-accent/50 cursor-pointer transition-colors group",children:[(0,a.jsxs)("div",{className:"flex gap-2 sm:gap-3",children:[(0,a.jsx)("div",{className:"relative flex-shrink-0 mt-[3px]",children:y?(0,a.jsx)("img",{src:y,alt:p,className:"w-10 h-10 rounded-full object-cover"}):(0,a.jsx)("div",{className:"w-10 h-10 rounded-full bg-muted flex items-center justify-center",children:x?(0,a.jsx)(u.A,{className:"h-5 w-5 text-muted-foreground"}):(0,a.jsx)(m.A,{className:"h-5 w-5 text-muted-foreground"})})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center flex-wrap gap-2",children:[(0,a.jsx)("h3",{className:"font-medium text-xs sm:text-sm truncate flex-1",children:p}),d.farcaster&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:["FID ",d.farcaster.fid]})]}),g&&(0,a.jsxs)("p",{className:"text-xs sm:text-sm text-muted-foreground truncate flex items-center gap-1",children:["@",g]}),h&&d.ensName&&d.ensName!==p&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:d.ensName}),c&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground truncate flex items-center gap-1",children:[(0,a.jsx)(m.A,{className:"h-3 w-3"}),v(d.primaryAddress)]})]})]}),(null==(l=d.farcaster)||null==(i=l.profile)||null==(n=i.bio)?void 0:n.text)&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-2 line-clamp-2 leading-tight ml-12 sm:ml-15",children:d.farcaster.profile.bio.text}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-3 mt-2 text-xs text-muted-foreground ml-12 sm:ml-15",children:d.farcaster?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"whitespace-nowrap",children:[f(d.farcaster.follower_count)," followers"]}),(0,a.jsxs)("span",{className:"whitespace-nowrap",children:[f(d.farcaster.following_count)," following"]})]}):(0,a.jsxs)(a.Fragment,{children:[d.addresses.length>1&&c&&(0,a.jsxs)("span",{className:"text-xs",children:["+",d.addresses.length-1," more address",d.addresses.length>2?"es":""]}),"ens"===d.source&&(0,a.jsx)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 bg-primary/10 text-primary rounded-full text-xs",children:"ENS"}),"address"===d.source&&(0,a.jsx)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 bg-muted text-muted-foreground rounded-full text-xs",children:"Address"})]})})]})}},6565:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n});var a=r(58486),s=r(71999);function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.QP)((0,a.$)(t))}},38714:(e,t,r)=>{"use strict";r.d(t,{w:()=>n});var a=r(16023),s=r(36273);function n(){let[e,t]=(0,a.useState)(!1),[r,n]=(0,a.useState)(!1),[i,l]=(0,a.useState)(),[d,o]=(0,a.useState)(!1),[c,u]=(0,a.useState)(""),[m,f]=(0,a.useState)(""),[h,x]=(0,a.useState)(!1);return(0,a.useEffect)(()=>
1{if(s.Ay)return s.Ay.on("miniAppAdded",e=>{let{notificationDetails:t}=e;u("miniAppAdded".concat(t?", notifications enabled":"")),o(!0)}),s.Ay.on("miniAppAddRejected",e=>{let{reason:t}=e;u("miniAppAddRejected, reason ".concat(t))}),s.Ay.on("miniAppRemoved",()=>{u("miniAppRemoved"),o(!1)}),s.Ay.on("notificationsEnabled",e=>{let{notificationDetails:t}=e;u("notificationsEnabled")}),s.Ay.on("notificationsDisabled",()=>{u("notificationsDisabled")}),s.Ay.actions.ready({}),n(!0),()=>{s.Ay.removeAllListeners()}},[]),(0,a.useEffect)(()=>{let e=async()=>{let e=await s.Ay.context;e&&(l(e),o(e.client.added)),x(await s.Ay.isInMiniApp())};r&&e()},[r]),{context:i,pinFrame:(0,a.useCallback)(async()=>{try{let e=await s.Ay.actions.addMiniApp();e.added&&f(e.notificationDetails?"Added, got notificaton token ".concat(e.notificationDetails.token," and url ").concat(e.notificationDetails.url):"Added, got no notification details")}catch(e){f("Error: ".concat(e))}},[]),pinFrameResponse:m,isMiniAppSaved:d,lastEvent:c,sdk:s.Ay,isSDKLoaded:r,isAuthDialogOpen:e,setIsAuthDialogOpen:t,isMiniApp:h}}},39982:(e,t,r)=>{"use strict";r.d(t,{Bm:()=>w,Bz:()=>N,tS:()=>j,w9:()=>b});var a=r(6380),s=r(77213),n=r(17967),i=r(17632),l=r(76443),d=r(3416),o=r(83353),c=r(28756),u=r(38950),m=r(53755),f=r(29496),h=r(84273),x=r(46650),p=r(54739),v=r(48093),g=r(35562);let y=[{id:1,chain:n.r,alchemyPrefix:"eth-mainnet"},{id:8453,chain:i.E,alchemyPrefix:"base-mainnet"},{id:42161,chain:l.D,alchemyPrefix:"arb-mainnet"},{id:421614,chain:d.Y,alchemyPrefix:"arb-sepolia"},{id:84532,chain:o.Z,alchemyPrefix:"base-sepolia"},{id:0x27bc86aa,chain:c.e,alchemyPrefix:"degen-mainnet"},{id:100,chain:u.c,alchemyPrefix:"gnosis-mainnet"},{id:10,chain:m.R,alchemyPrefix:"opt-mainnet"},{id:0xaa37dc,chain:f.i,alchemyPrefix:"opt-sepolia"},{id:137,chain:h.n,alchemyPrefix:"polygon-mainnet"},{id:0xaa36a7,chain:x.G,alchemyPrefix:"eth-sepolia"},{id:7777777,chain:p.L,alchemyPrefix:"zora-mainnet"},{id:130,chain:v.l,alchemyPrefix:"unichain-mainnet"},{id:10143,chain:{id:10143,name:"Monad Testnet",network:"monad-testnet",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet.monad.xyz"]},public:{http:["https://testnet.monad.xyz"]}}},alchemyPrefix:null},{id:42220,chain:g.A,alchemyPrefix:"celo-mainnet"}];function b(e){let t=y.find(t=>t.id===e);return(null==t?void 0:t.chain)||n.r}function w(e){return(0,s.l)({chain:b(e),transport:function(e){let t="VwtjBlqt0QChA3myNx9o6",r=y.find(t=>t.id===e);return(null==r?void 0:r.alchemyPrefix)&&t?(0,a.L)("https://".concat(r.alchemyPrefix,".g.alchemy.com/v2/").concat(t)):(0,a.L)()}(e)})}function j(e){let t={ethereum:1,mainnet:1,base:8453,arbitrum:42161,"arbitrum one":42161,"arbitrum sepolia":421614,"base sepolia":84532,degen:0x27bc86aa,gnosis:100,optimism:10,"optimism sepolia":0xaa37dc,polygon:137,sepolia:0xaa36a7,"ethereum sepolia":0xaa36a7,zora:7777777,unichain:130,ham:130,"monad testnet":10143,monad:10143,celo:42220}[e.toLowerCase().trim()];return t?b(t):void 0}function N(e,t){let r=y.find(t=>t.id===e);if((null==r?void 0:r.alchemyPrefix)&&t)return"https://".concat(r.alchemyPrefix,".g.alchemy.com/v2/").concat(t)}},46861:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var a=r(22207);r(16023);var s=r(6565);function n(e){let{className:t,type:r,...n}=e;return(0,a.jsx)("input",{type:r,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},56955:(e,t,r)=>{"use strict";r.d(t,{$:()=>d});var a=r(22207);r(16023);var s=r(764),n=r(38312),i=r(6565);let l=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:t,variant:r,size:n,asChild:d=!1,...o}=e,c=d?s.DX:"button";return(0,a.jsx)(c,{"data-slot":"button",className:(0,i.cn)(l({variant:r,size:n,className:t})),...o})}},63514:()=>{}}]);
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.