import{$a as e,$i as t,Aa as n,Ca as r,Da as i,Ea as a,Ia as o,Ja as s,Ka as c,Oa as l,Qi as u,Sa as d,Ta as f,Xi as p,Zi as m,_a as ee,aa as h,ao as g,ba as te,ca as ne,cf as re,co as _,da as v,df as y,ea as b,fa as x,ga as ie,ha as S,ia as C,ka as w,la as ae,lo as T,ma as E,na as D,oa as oe,pa as se,qa as ce,ra as le,sa as ue,sf as de,ta as fe,ua as pe,va as me,wa as he,xa as ge,ya as _e}from"./messages-CNn8r9_i.js";import{a as O,d as k,u as ve}from"./auth-store-5w5M8JMv.js";import{t as A}from"./router-Oho5EC-T.js";import{B as ye,H as be,o as j,r as xe}from"./search-provider-CSlvLJVo.js";import{i as M,t as N}from"./button-JhAGlo93.js";import{t as Se}from"./checkbox-DOoVK0RC.js";import{a as P,c as F,l as Ce,r as we,s as Te,t as Ee}from"./dropdown-menu-CmpC2aB4.js";import{a as De,i as Oe,n as ke,r as Ae,t as je}from"./select-CdsI6h86.js";import{t as I}from"./separator-qol0tj1x.js";import{t as L}from"./switch-DbXSAmis.js";import{_ as Me,d as R,f as Ne,g as Pe,h as Fe,m as Ie,n as Le,p as Re,r as ze,t as Be,v as Ve}from"./data-table-CPScwiZc.js";import{t as He}from"./arrow-left-CZGzVtKN.js";import{t as z}from"./skeleton-C4OTIiu5.js";import{t as Ue}from"./ellipsis-CLQpR2Cl.js";import{t as We}from"./empty-state-DBZ6tlMt.js";import{n as Ge,t as Ke}from"./main-BcMte-HE.js";import{n as qe,t as Je}from"./chains-store-Cx63GXlt.js";import{n as Ye,t as Xe}from"./trash-2-uyrzEENa.js";import{d as Ze,h as Qe,l as $e,m as et,p as tt,u as nt}from"./command-CKXbBl-6.js";import{n as B}from"./dist-ZMQ7qKQl.js";import{a as rt,c as V,n as H,s as it}from"./zod-owHEOVTN.js";import{a as U,c as at,i as W,l as ot,n as G,o as K,s as q,t as st}from"./form-LXiclVxl.js";import{t as J}from"./input-B_aFxEOi.js";import{t as ct}from"./page-header-geN5Hrcb.js";import{t as Y}from"./badge-BMDRAHPI.js";import{t as lt}from"./coming-soon-dialog-DiKGRB8p.js";var X=y(re(),1),Z=de(),ut=it({network:V().min(1,t()),symbol:V().min(1,u()),contract_address:V().optional().default(``),decimals:H().min(0,m()).default(6),min_amount:H().min(0,p()).default(0),enabled:rt().default(!0)});function dt({open:t,onOpenChange:n,currentRow:r,onSuccess:i,defaultNetwork:a,onCreate:s,onUpdate:c,chains:l}){let u=ot({resolver:at(ut),defaultValues:{network:``,symbol:``,contract_address:``,decimals:6,min_amount:0,enabled:!0}}),d;d=l?.length?l:a?[{network:a,display_name:a}]:[],(0,X.useEffect)(()=>{t&&u.reset({network:r?.network??a??d[0]?.network??``,symbol:r?.symbol??``,contract_address:r?.contract_address??``,decimals:r?.decimals??6,min_amount:r?.min_amount??0,enabled:r?.enabled??!0})},[t,r,a,d,u]);async function f(e){r?.id?await c(e):await s(e),n(!1),await i?.()}let p=u.formState.isSubmitting;return(0,Z.jsx)($e,{onOpenChange:n,open:t,children:(0,Z.jsxs)(nt,{children:[(0,Z.jsxs)(tt,{children:[(0,Z.jsx)(et,{children:r?pe():ae()}),(0,Z.jsx)(Ze,{children:r?ne():ue()})]}),(0,Z.jsx)(st,{...u,children:(0,Z.jsxs)(`form`,{className:`space-y-4`,onSubmit:u.handleSubmit(f),children:[(0,Z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,Z.jsx)(W,{control:u.control,name:`network`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:T()}),(0,Z.jsxs)(je,{disabled:!!r,onValueChange:e.onChange,value:e.value,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(Oe,{className:`w-full`,children:(0,Z.jsx)(De,{placeholder:_()})})}),(0,Z.jsx)(ke,{children:d.map(e=>(0,Z.jsx)(Ae,{value:e.network,children:e.display_name??e.network},e.network))})]}),(0,Z.jsx)(q,{})]})}),(0,Z.jsx)(W,{control:u.control,name:`symbol`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:oe()}),(0,Z.jsx)(G,{children:(0,Z.jsx)(J,{placeholder:`USDT`,...e,disabled:!!r})}),(0,Z.jsx)(q,{})]})})]}),(0,Z.jsx)(`div`,{className:`rounded-md border border-dashed p-3 text-muted-foreground text-sm`,children:h()}),(0,Z.jsx)(W,{control:u.control,name:`contract_address`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:C()}),(0,Z.jsx)(G,{children:(0,Z.jsx)(J,{placeholder:`TR7NHqje...`,...e})}),(0,Z.jsx)(q,{})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,Z.jsx)(W,{control:u.control,name:`decimals`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:le()}),(0,Z.jsx)(G,{children:(0,Z.jsx)(J,{name:e.name,onBlur:e.onBlur,onChange:t=>e.onChange(t.target.value),ref:e.ref,type:`number`,value:String(e.value??``)})}),(0,Z.jsx)(q,{})]})}),(0,Z.jsx)(W,{control:u.control,name:`min_amount`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:D()}),(0,Z.jsx)(G,{children:(0,Z.jsx)(J,{name:e.name,onBlur:e.onBlur,onChange:t=>e.onChange(t.target.value),ref:e.ref,step:`0.000001`,type:`number`,value:String(e.value??``)})}),(0,Z.jsx)(q,{})]})})]}),(0,Z.jsx)(W,{control:u.control,name:`enabled`,render:({field:t})=>(0,Z.jsxs)(U,{className:`flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4 rtl:space-x-reverse`,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(Se,{checked:t.value,onCheckedChange:e=>t.onChange(!!e)})}),(0,Z.jsx)(`div`,{className:`space-y-1 leading-none`,children:(0,Z.jsx)(K,{children:e()})})]})}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Z.jsx)(N,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:g()}),(0,Z.jsx)(N,{disabled:p,type:`submit`,children:p?o():r?b():fe()})]})]})})]})})}function ft(t){return[{id:`switch`,header:({column:t})=>(0,Z.jsx)(R,{column:t,title:e()}),cell:({row:e})=>(0,Z.jsx)(L,{checked:e.original.enabled===!0,onCheckedChange:()=>t(e.original.enabled?`disable`:`enable`,e.original)}),enableSorting:!1,enableHiding:!1,meta:{label:e(),skeleton:`switch`,sticky:`left`,th:{className:M(`rounded-tl-[inherit]`)}}},{accessorKey:`symbol`,header:({column:e})=>(0,Z.jsx)(R,{column:e,title:se()}),cell:({row:e})=>(0,Z.jsx)(`div`,{className:`font-medium`,children:e.original.symbol??`-`}),enableHiding:!1,meta:{label:se(),skeleton:`short`}},{accessorKey:`network`,header:({column:e})=>(0,Z.jsx)(R,{column:e,title:T()}),meta:{label:T(),skeleton:`short`}},{accessorKey:`created_at`,header:({column:e})=>(0,Z.jsx)(R,{column:e,title:s()}),cell:({row:e})=>j(e.original.created_at),meta:{label:s(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,Z.jsx)(R,{column:e,title:ce()}),cell:({row:e})=>j(e.original.updated_at),meta:{label:ce(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:c(),skeleton:`action`,sticky:`right`},cell:({row:e})=>(0,Z.jsxs)(Ee,{modal:!1,children:[(0,Z.jsx)(Ce,{asChild:!0,children:(0,Z.jsxs)(N,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,Z.jsx)(Ue,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,Z.jsxs)(we,{align:`end`,className:`w-40`,children:[(0,Z.jsxs)(P,{onClick:()=>t(`edit`,e.original),children:[x(),(0,Z.jsx)(F,{children:(0,Z.jsx)(qe,{size:16})})]}),(0,Z.jsx)(Te,{}),(0,Z.jsxs)(P,{onClick:()=>t(`delete`,e.original),variant:`destructive`,children:[v(),(0,Z.jsx)(F,{children:(0,Z.jsx)(Xe,{size:16})})]})]})]})}]}function pt({data:e,isLoading:t,onAction:n,onRefresh:r}){let[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)([]),[u,d]=(0,X.useState)({pageIndex:0,pageSize:10}),f=Ne({data:e,columns:(0,X.useMemo)(()=>ft(n),[n]),state:{sorting:i,columnFilters:c,globalFilter:o,pagination:u},onSortingChange:a,onColumnFiltersChange:l,onGlobalFilterChange:s,onPaginationChange:d,globalFilterFn:(e,t,n)=>{let r=String(n).toLowerCase();return(e.original.symbol??``).toLowerCase().includes(r)||(e.original.contract_address??``).toLowerCase().includes(r)},getCoreRowModel:Re(),getFilteredRowModel:Pe(),getPaginationRowModel:Me(),getSortedRowModel:Ve(),getFacetedRowModel:Ie(),getFacetedUniqueValues:Fe()});return(0,X.useEffect)(()=>{let e=f.getPageCount();e>0&&u.pageIndex>e-1&&d(e=>({...e,pageIndex:0}))},[f,u.pageIndex]),(0,Z.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4`,children:[(0,Z.jsx)(Be,{onRefresh:r,searchKey:`symbol`,searchPlaceholder:S(),table:f}),(0,Z.jsx)(ze,{emptyText:E(),loading:t,table:f}),(0,Z.jsx)(Le,{className:`mt-auto`,table:f})]})}var Q=new ve({chainTokens:[],loading:!1});function mt(e){Q.setState(t=>({...t,chainTokens:e}))}function ht(e){Q.setState(t=>({...t,loading:e}))}function gt(){let e=k(Q,e=>e.chainTokens),t=k(Q,e=>e.loading),n=O.useQuery(`get`,`/admin/api/v1/chain-tokens`);return(0,X.useEffect)(()=>{ht(n.isLoading)},[n.isLoading]),(0,X.useEffect)(()=>{n.data?.data&&mt(n.data.data)},[n.data?.data]),{chainTokens:e,loading:t,refetch:n.refetch}}var _t=[`chain-1`,`chain-2`,`chain-3`,`chain-4`,`chain-5`];function $({active:e,children:t,onClick:n}){return(0,Z.jsx)(`button`,{className:M(`w-full cursor-pointer rounded-lg px-3 py-3 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,e&&`bg-muted`),onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},type:`button`,children:t})}function vt({chains:e,isLoading:t,keyword:r,onKeywordChange:o,selectedPanel:s,onSelect:c,onToggle:u,totalTokens:d,hiddenOnMobile:p}){return(0,Z.jsxs)(`div`,{className:M(`flex w-full flex-col gap-2 sm:w-56 lg:w-72 2xl:w-80`,p&&`hidden sm:flex`),children:[(0,Z.jsxs)(`div`,{className:`sticky top-0 z-10 -mx-4 bg-background px-4 pb-3 shadow-md sm:static sm:z-auto sm:mx-0 sm:p-0 sm:shadow-none`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`h1`,{className:`font-bold text-2xl`,children:n()}),(0,Z.jsx)(ye,{size:20})]}),(0,Z.jsx)(Y,{variant:`secondary`,children:w({count:String(e.length)})})]}),(0,Z.jsxs)(`div`,{className:`relative block`,children:[(0,Z.jsx)(Qe,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground`}),(0,Z.jsx)(J,{className:`pl-9`,onChange:e=>o(e.target.value),placeholder:l(),value:r})]})]}),(0,Z.jsxs)(xe,{className:`-mx-3 h-full overflow-auto p-3`,children:[(0,Z.jsx)($,{active:s===`overview`,onClick:()=>c(`overview`),children:(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`font-medium`,children:i()}),(0,Z.jsx)(`div`,{className:`mt-1 text-muted-foreground text-xs`,children:a({chains:String(e.length),tokens:String(d)})})]}),(0,Z.jsx)(be,{className:`mt-0.5 size-4 text-muted-foreground`})]})}),(0,Z.jsx)(I,{className:`my-1`}),t?_t.map(e=>(0,Z.jsxs)(`div`,{className:`px-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(z,{className:`h-4 w-24`}),(0,Z.jsx)(z,{className:`h-5 w-9 rounded-full`})]}),(0,Z.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,Z.jsx)(z,{className:`h-3 w-28`}),(0,Z.jsx)(z,{className:`h-5 w-12 rounded-full`})]})]},e)):e.map((t,n)=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)($,{active:s===t.network,onClick:()=>c(t.network??`overview`),children:(0,Z.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsx)(`div`,{className:`truncate font-medium`,children:t.display_name})}),(0,Z.jsx)(L,{checked:t.enabled===!0,onCheckedChange:e=>u(t,e),onClick:e=>e.stopPropagation()})]}),(0,Z.jsxs)(`div`,{className:`mt-1 flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:f()}),(0,Z.jsx)(Y,{className:`shrink-0 text-xs`,variant:`outline`,children:t.network})]})]})})}),n{let t=u.trim().toLowerCase();return t?e.filter(e=>[e.display_name,e.network].filter(Boolean).some(e=>String(e).toLowerCase().includes(t))):e},[e,u]),C=(0,X.useMemo)(()=>f===`overview`?r:r.filter(e=>e.network===f),[r,f]);async function w(){await Promise.all([A.invalidateQueries({queryKey:[`get`,`/admin/api/v1/chains`]}),A.invalidateQueries({queryKey:[`get`,`/admin/api/v1/chain-tokens`]})])}async function ae(e,t){e.network&&(await l.mutateAsync({params:{path:{network:e.network}},body:{display_name:e.display_name,enabled:t,min_confirmations:e.min_confirmations,scan_interval_sec:e.scan_interval_sec}}),B.success(ge({status:t?te():_e()})),await w())}async function T(e,t){if(e===`edit`||e===`delete`){_(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await c.mutateAsync({params:{path:{id:t.id}},body:{enabled:e===`enable`}}),B.success(me()),await w();return}}let E=m!==null,D=t||i;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ge,{fixed:!0}),(0,Z.jsx)(Ke,{fixed:!0,children:(0,Z.jsxs)(`section`,{className:`flex h-full gap-6`,children:[(0,Z.jsx)(vt,{chains:S,hiddenOnMobile:E,isLoading:D,keyword:u,onKeywordChange:d,onSelect:e=>{p(e),h(e)},onToggle:ae,selectedPanel:f,totalTokens:r.length}),(0,Z.jsx)(`div`,{className:M(`absolute inset-0 start-full z-50 hidden w-full flex-1 flex-col border bg-background shadow-xs sm:static sm:z-auto sm:flex sm:min-w-0 sm:rounded-md sm:border-0 sm:bg-transparent sm:shadow-none`,E&&`inset-s-0 flex`),children:(0,Z.jsx)(yt,{isLoading:D,onAction:T,onBack:()=>h(null),onCreate:()=>_(!0),onRefresh:()=>{n(),a()},tokens:C})})]})}),(0,Z.jsx)(dt,{chains:e.filter(e=>!!e.network).map(e=>({network:e.network,display_name:e.display_name})),currentRow:b,defaultNetwork:v,onCreate:async e=>{await o.mutateAsync({body:{network:e.network,symbol:e.symbol,contract_address:e.contract_address||void 0,decimals:e.decimals,min_amount:e.min_amount,enabled:e.enabled}})},onOpenChange:e=>{ne(e),e||(x(null),y(``))},onSuccess:async()=>{B.success(b?ee():ie()),await w()},onUpdate:async e=>{b?.id&&await s.mutateAsync({params:{path:{id:b.id}},body:{contract_address:e.contract_address||void 0,decimals:e.decimals,min_amount:e.min_amount,enabled:e.enabled}})},open:g}),(0,Z.jsx)(lt,{onOpenChange:_,open:re})]})}var xt=bt;export{xt as component};