PageSourceSearch

https://www.qoory.ai/assets/tokens._id-C2_Fjp6_.js

js qoory.ai collected 2026-10-05 12:27:14 UTC 10,812 bytes, 1 lines download raw bytes

1import{bq as f,iT as P,gT as r,h_ as D,fU as e,eB as g,y as j,b0 as E,eD as b,eA as I,aI as L,ep as y,eC as d}from"./index-BAOlAgi4.js";import{f as A,a as $,T as H,U as _,H as B}from"./holders-wxBJT8FW.js";import{D as M}from"./DetailColumns-CTBoNP29.js";import{S as n}from"./DetailSection-CY5_KpMp.js";import{E as z}from"./EntityBreadcrumbLd-DCdNq_bv.js";import{A as R}from"./AskInChatButton-Cz2dMdYJ.js";import{g as F,T as O}from"./tokenomics-detail-fn-2jORDQ0r.js";import"./dex-registry-B-P7Nwy1.js";import"./charts-e3lvTA7w.js";import"./tooltipContext-BszK99_V.js";import"./BarChart-CTgMuNTx.js";import"./MobileTabs-CB5l1twN.js";import"./CartesianGrid-B2CgQB-3.js";const N={governance:"Governance",utility:"Utility",payment:"Payment",lp:"LP Token",stablecoin:"Stablecoin"},v={ethereum:"bg-sec-l1/15 text-sec-l1 border-sec-l1/30",solana:"bg-sec-other/15 text-sec-other border-sec-other/30",base:"bg-sec-l2/15 text-sec-l2 border-sec-l2/30",arbitrum:"bg-sec-defi/15 text-sec-defi border-sec-defi/30",optimism:"bg-sec-meme/15 text-sec-meme border-sec-meme/30",polygon:"bg-sec-stable/15 text-sec-stable border-sec-stable/30"};function o({label:t,value:l,valueClass:s="text-foreground"}){return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:t}),e.jsx("span",{className:`text-sm font-medium tabular-nums ${s}`,children:l})]})}function ae(){const t=f.useLoaderData(),{id:l}=f.useParams(),{t:s,locale:i}=P();r.useEffect(()=>{D("entity_view",{type:"token",slug:l})},[l]);const k=(t.priceChange7dPct??0)>=0,[S,m]=r.useState(!1),[T,x]=r.useState(null),[w,u]=r.useState([]),[U,p]=r.useState(null);r.useEffect(()=>{A({data:t.id}).then(a=>{x(a),m(!1)}).catch(()=>{x(null),m(!0)}),$({data:t.id}).then(u).catch(()=>u([])),F({data:{tokenId:t.id}}).then(p).catch(()=>p(null))},[t.id]);const h=t.circulatingSupply&&t.totalSupply&&t.totalSupply>0?(t.circulatingSupply/t.totalSupply*100).toFixed(1)+"%":null,C=t.events.map(a=>({id:a.id,type:a.type,title:a.title,occurredAt:a.occurredAt,occurredAtText:a.occurredAtText,importance:a.importance,sourceUrl:a.sourceUrl,detailUrl:t.project?`/projects/${t.project.slug}`:void 0}));return e.jsxs("main",{className:"max-w-4xl mx-auto px-4 py-8",children:[e.jsx(z,{section:"tokens",name:t.name,path:`/tokens/${l}`}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4 pb-6 border-b border-border mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[t.project?.logoUrl?e.jsx("img",{src:t.project.logoUrl,alt:t.name,className:"w-14 h-14 rounded-md object-contain bg-muted ring-1 ring-border shrink-0"}):e.jsx("div",{className:"w-14 h-14 rounded-md bg-gradient-to-br from-primary/20 to-muted flex items-center justify-center text-2xl font-bold text-brand shrink-0",children:t.symbol[0]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:t.symbol}),e.jsx("span",{className:"text-base text-muted-foreground",children:t.name}),t.tokenType&&e.jsx("span",{className:"text-[10px] px-2 py-0.5 rounded-full bg-muted text-muted-foreground border border-border",children:N[t.tokenType]??t.tokenType})]}),t.deployments.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1",children:t.deployments.slice(0,5).map((a,c)=>e.jsx("span",{className:`text-[10px] px-2 py-0.5 rounded-full border capitalize ${v[a.chainId]??"bg-muted text-muted-foreground border-border"}`,children:a.chainId},c))}),t.coingeckoId&&e.jsxs("a",{href:`https://www.coingecko.com/en/coins/${t.coingeckoId}`,target:"_blank",rel:"noopener noreferrer",className:"text-[11px] text-muted-foreground/70 hover:text-muted-foreground transition-colors mt-1 inline-flex items-center gap-1",children:["CoinGecko",e.jsx("svg",{className:"w-2.5 h-2.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]}),e.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:e.jsx(R,{entityType:"token",entitySlug:t.id})})]})]}),e.jsxs("div",{className:"text-right shrink-0",children:[e.jsx("div",{className:"text-3xl font-bold text-foreground tabular-nums",children:g(t.priceUsd)}),e.jsxs("div",{className:"flex items-center justify-end gap-3 mt-1",children:[t.priceChange24hPct!=null&&e.jsxs("span",{className:"text-sm tabular-nums flex items-center gap-1",children:[e.jsx(j,{value:t.priceChange24hPct}),e.jsx("span",{className:"text-muted-foreground font-normal",children:"24h"})]}),t.priceChange7dPct!=null&&e.jsxs("span",{className:"text-sm tabular-nums flex items-center gap-1",children:[e.jsx(j,{value:t.priceChange7dPct}),e.jsx("span",{className:"text-muted-foreground font-normal",children:"7d"})]})]})]})]}),e.jsx("div",{className:"mb-6",children:e.jsx(E,{symbol:`${t.symbol}/USDT`,coingeckoId:t.coingeckoId,name:t.symbol,assetType:"crypto",height:300,events:C})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-6",children:[e.jsxs("div",{className:"bg-card border border-border rounded-md p-5",children:[e.jsx("h3",{className:"font-mono text-[10px] font-medium text-muted-foreground uppercase tracking-[0.18em] mb-4",children:s("detail.marketData")}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(o,{label:s("detail.marketCap"),value:b(t.marketCapUsd)}),e.jsx(o,{label:s("detail.volume24h"),value:b(t.volume24hUsd)}),t.priceChange7dPct!=null&&e.jsx(o,{label:s("detail.change7d"),value:
1I(t.priceChange7dPct),valueClass:k?"text-data-pos":"text-data-neg"}),t.athUsd!=null&&e.jsx(o,{label:s("detail.allTimeHigh"),value:g(t.athUsd)})]})]}),e.jsx(H,{symbol:t.symbol})]}),e.jsx(M,{rightWidth:"280px",leftLabel:s("detail.overview"),rightLabel:s("detail.details"),left:e.jsxs("div",{className:"space-y-6",children:[(t.circulatingSupply||t.totalSupply||t.maxSupply)&&e.jsxs("section",{children:[e.jsx(n,{children:s("detail.supply")}),e.jsxs("div",{className:"bg-card border border-border rounded-md p-5 space-y-3",children:[t.circulatingSupply!=null&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.circulating")}),e.jsxs("span",{className:"text-foreground font-medium tabular-nums",children:[d(t.circulatingSupply,t.symbol),h&&e.jsxs("span",{className:"text-muted-foreground text-xs ml-1.5",children:["(",h," ",s("detail.ofTotal"),")"]})]})]}),t.totalSupply!=null&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.total")}),e.jsx("span",{className:"text-foreground tabular-nums",children:d(t.totalSupply,t.symbol)})]}),t.maxSupply!=null&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.max")}),e.jsx("span",{className:"text-foreground tabular-nums",children:d(t.maxSupply,t.symbol)})]}),t.circulatingSupply!=null&&t.maxSupply!=null&&t.maxSupply>0&&e.jsxs("div",{className:"pt-1",children:[e.jsx("div",{className:"h-1.5 bg-muted rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-primary to-brand rounded-full",style:{width:`${Math.min(100,t.circulatingSupply/t.maxSupply*100)}%`}})}),e.jsxs("div",{className:"flex justify-between text-[10px] text-muted-foreground/70 mt-1",children:[e.jsx("span",{children:s("detail.circulating")}),e.jsxs("span",{children:[(t.circulatingSupply/t.maxSupply*100).toFixed(1),"% ",s("detail.ofMax")]})]})]})]})]}),e.jsx(O,{detail:U}),e.jsx(_,{unlocks:w}),e.jsx(B,{unavailable:S,holders:T}),t.deployments.length>0&&e.jsxs("section",{children:[e.jsx(n,{children:s("detail.contractDeployments")}),e.jsx("div",{className:"space-y-2",children:t.deployments.map((a,c)=>e.jsxs("div",{className:"bg-card border border-border rounded-md p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full border capitalize ${v[a.chainId]??"bg-muted text-muted-foreground border-border"}`,children:a.chainId}),e.jsx("span",{className:"text-xs text-muted-foreground/70 capitalize",children:a.deploymentType}),a.isCanonical&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-data-pos-soft text-data-pos border border-data-pos/30 ml-auto",children:s("detail.canonical")})]}),a.contractAddress&&e.jsx("code",{className:"text-xs text-muted-foreground font-mono break-all",children:a.contractAddress})]},c))})]})]}),right:e.jsxs("div",{className:"space-y-6",children:[t.project&&e.jsxs("section",{children:[e.jsx(n,{children:s("detail.project")}),e.jsxs(L,{to:"/projects/$slug",params:{slug:t.project.slug},className:"flex items-center gap-3 p-4 rounded-md bg-card border border-border hover:border-foreground
1/30 transition-colors group",children:[t.project.logoUrl?e.jsx("img",{src:t.project.logoUrl,alt:t.project.name,className:"w-10 h-10 rounded-lg object-contain bg-muted shrink-0"}):e.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-primary/20 to-muted flex items-center justify-center text-sm font-bold text-brand shrink-0",children:t.project.name[0]}),e.jsx("span",{className:"font-medium text-foreground group-hover:text-brand transition-colors truncate",children:t.project.name}),e.jsx("span",{className:"ml-auto text-xs text-muted-foreground/70 shrink-0",children:s("detail.viewProject")})]})]}),e.jsxs("section",{children:[e.jsx(n,{children:s("detail.tokenInfo")}),e.jsxs("div",{className:"bg-card border border-border rounded-md p-4 space-y-2.5 text-sm",children:[t.tokenType&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.type")}),e.jsx("span",{className:"text-foreground",children:N[t.tokenType]??t.tokenType})]}),t.launchType&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.launch")}),e.jsx("span",{className:"text-foreground capitalize",children:t.launchType.replace("-"," ")})]}),t.launchDate&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.launchDate")}),e.jsx("span",{className:"text-foreground",children:y(t.launchDate,i,{month:"short",day:"numeric",year:"numeric"})})]}),t.athDate&&t.athUsd!=null&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:s("detail.athDate")}),e.jsx("span",{className:"text-foreground",children:y(t.athDate,i,{month:"short",year:"numeric"})})]})]})]})]})})]})}export{ae as component};

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.