1import{a as l,j as e,cu as T,cb as M,aw as B,w,A as R,cv as H,cw as V,cx as _,f as D,p as O,b as $,cy as q,l as g,cz as G,cA as z,cB as W,a6 as K,cC as J,cD as Q,cE as U,cF as X,cG as Y,cH as Z,cI as ee}from"./index-hZR_pMzJ.js";function j({title:s,children:t,isVisible:n=!0}){return n?e.jsxs("div",{className:"flex flex-1 flex-col items-end gap-1 text-sm",children:[t,e.jsx("div",{className:"text-xs text-accent-50",children:s})]}):null}function F({tokens:s}){const{isSm:t}=B();return e.jsxs("div",{className:"flex max-w-lg grow items-end justify-end gap-12",children:[e.jsx(j,{title:"TVL",isVisible:t,children:e.jsx(w,{className:"text-sm text-inherit",value:s.reduce((n,c)=>n+c.tvl,0n)})}),e.jsx(j,{title:"Onchain Price",isVisible:t,children:e.jsx(w,{className:"text-sm text-inherit",value:s[0].price})}),e.jsx(j,{title:"Balance",children:e.jsx(R,{amount:s.reduce((n,c)=>n+c.balance,0n),tokenAddress:s[0].address,chainId:s[0].chainId,decimals:s[0].decimals,showLogo:!1,showSymbol:!1})})]})}function se({tokens:s}){const[t,n]=l.useState(!1),c=r=>{M(`/pools?token0=${r.address}&chain0=${r.chainId}`)},i="rounded-none border-b border-accent-10 p-6 sm:px-8 sm:py-7 h-22 sm:h-24";return e.jsxs("div",{"data-testid":"token-list-token",children:[e.jsx(T,{tokens:s,onSelect:c,isExpanded:!!t,setExpanded:()=>n(!t),className:i,showConnectorSymbol:!0,children:e.jsx(F,{tokens:s})}),t&&s.map(r=>e.jsx(T,{tokens:[r],onSelect:c,setExpanded:()=>{},className:i,showConnectorSymbol:!0,children:e.jsx(F,{tokens:[r]})},`${r.chainId}:${r.address}`))]})}const b=[{name:"Superchain",id:0},...V];({...b.reduce((s,t)=>(s[t.name]=t.name,s),{})});const A="default",C={default:()=>!0,balance:({balance:s})=>s>0n,connector:({address:s},t)=>t.superchainConfig.oracleConnectors.includes(s),...b.reduce((s,t)=>(s[t.name]=({chainId:n})=>n===t.id||t.id===0,s),{})},te=(s,t)=>{const{chain:n}=_(s.chainId);return t?C[t](s,n):C[A](s,n)},ne=b.map(s=>s.name);function ae(s){return H({unfiltered:s,handleFilter:te,fallbackFilter:A,discriminatedFilters:[ne]})}function ce(){const[s,t]=D(),{data:n,error:c}=O(),{data:i,error:r}=$(n,{allPools:!1}),v=l.useMemo(()=>{if(!n)return[];const a=n.sorted.filter(o=>o.listed),p=Object.values(n?.all).filter(o=>o.emerging);return[...a,...p]},[n]),S=l.useMemo(()=>q(i?.all??[],v),[i,n]),[m,I]=l.useState([]),{currentFilters:E,onFilterChange:P,filtered:y}=ae(S),x=l.useMemo(()=>g.isEmpty(m)||!n?[]:G(g.groupBy(m,"symbol"),v).filter(a=>!!a),[m,n]),d=parseInt(s.get("limit")||"10"),k=parseInt(s.get("page")||"1"),N=Math.ceil(x.length/d),u=Math.max(1,Math.min(N,k)),h=l.useMemo(()=>x.slice((u-1)*d,u*d),[x,u,d]),f=l.useRef(null),L=a=>{const p=Object.fromEntries(s.entries());if(t({...p,page:a.toString()}),f.current){const{offsetTop:o}=f.current;window.scrollTo({top:o,left:0})}};return l.useEffect(()=>{const a=c||r;a&&toast.error(a)},[c,r]),e.jsxs("div",{className:"mx-auto flex max-w-screen-xl flex-col gap-3",children:[e.jsxs("div",{className:"flex flex-col-reverse gap-3 md:flex-row",children:[e.jsx(z,{}),e.jsx(W,{})]}),g.isEmpty(S)?e.jsx(K,{message:"Fetching tokens, please stand by..."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{ref:f,className:"overflow-hidden rounded-2xl bg-accent-0",children:[e.jsx(J,{data:y,onFound:I,tabs:[{label:"Pools",href:"/liquidity"},...Q?[{label:"Stocks",href:"/liquidity/stocks",isNew:!0}]:[],{label:"Tokens",href:"/tokenlist"}]}),e.jsx("div",{className:"border-t border-accent-10",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center divide-x divide-accent-10 border-r border-accent-10",children:[!1,e.jsx(U,{title:"Advanced",options:["balance","connector"],currentFilters:E,onFilterChange:P,names:{default:"All",balance:"Token has Balance",connector:"Token is Connector"}})]}),e.jsx(X,{currentFilters:E,fallbackFilter:"default"})]})})]}),e.jsx("div",{className:"overflow-hidden rounded-2xl bg-accent-0",children:h.map(a=>e.jsx(se,{tokens:a},a[0].symbol))}),h.length>0?e.jsxs("div",{className:"mt-5 flex items-center justify-center sm:justify-between",children:[e.jsxs("div",{className:"hidden text-xs text-accent-50 sm:flex",children:["Showing ",h.length," out of ",y.length," tokens"]}),e.jsx(Y,{currentPage:u,totalPages:N,onPageChange:L})]}):e.jsx(Z,{icon:e.jsx(ee,{}),title:"No results found",description:"There are no tokens matching your criteria. Refine your filters or reset them all and try again."})]})]})}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.