import{$r as e,$u as t,Ci as n,Gr as r,Hi as i,Ji as a,Jr as o,Kr as s,Qr as c,Qu as l,Si as u,Ti as d,Ui as f,Vi as p,Xr as m,Yr as h,Zr as ee,_i as g,ai as te,bi as _,ci as v,di as ne,ea as y,ei as b,fi as re,gi as ie,hi as ae,ia as x,ii as S,ji as C,li as w,mi as oe,nd as T,ni as se,oi as ce,pi as le,qr as E,ra as D,ri as ue,si as de,ti as fe,ui as pe,vi as me,wi as he,xi as ge,yi as _e}from"./messages-GNZRoNCJ.js";import{a as O,d as k,u as ve}from"./auth-store-D6M2fL5v.js";import{t as A}from"./router-WGjVYfDE.js";import{B as ye,V as be,o as j,r as xe}from"./search-provider-LWHzuxPK.js";import{i as M,t as N}from"./button-CgehfZOz.js";import{t as Se}from"./checkbox-DatOgaAb.js";import{a as P,c as F,l as Ce,r as we,s as Te,t as Ee}from"./dropdown-menu-CTXk1Zrr.js";import{t as I}from"./skeleton-CShhbKn7.js";import{a as De,i as Oe,n as ke,r as Ae,t as je}from"./select-DMPupgk1.js";import{t as L}from"./separator-DCobJKYf.js";import{t as R}from"./switch-DM03P9u-.js";import{_ as Me,d as z,f as Ne,g as Pe,h as Fe,n as Ie,p as Le,r as Re,t as ze,v as Be,y as Ve}from"./data-table-DjSK-4cq.js";import{t as He}from"./arrow-left-Dn5hhZ5t.js";import{t as Ue}from"./ellipsis-wLloMtop.js";import{t as We}from"./empty-state-BVYJD65g.js";import{n as Ge,t as Ke}from"./main-B1PefPeT.js";import{n as qe,t as Je}from"./chains-store-DIJ-nqSa.js";import{n as Ye,t as Xe}from"./trash-2-C_l9AUPj.js";import{d as Ze,g as Qe,l as $e,m as et,p as tt,u as nt}from"./command-BVulVd11.js";import{n as B}from"./dist-5drZch9N.js";import{a as rt,c as V,n as H,s as it}from"./zod-Ds1e9pAB.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-CltVYR9l.js";import{t as J}from"./input-DVA35bJk.js";import{t as ct}from"./page-header-cy8MPm4c.js";import{t as Y}from"./badge-BPwdyK59.js";import{t as lt}from"./coming-soon-dialog-CDL92hfj.js";var X=T(t(),1),Z=l(),ut=it({network:V().min(1,o()),symbol:V().min(1,E()),contract_address:V().optional().default(``),decimals:H().min(0,s()).default(6),min_amount:H().min(0,r()).default(0),enabled:rt().default(!0)});function dt({open:t,onOpenChange:n,currentRow:r,onSuccess:i,defaultNetwork:o,onCreate:s,onUpdate:l,chains:u}){let d=ot({resolver:at(ut),defaultValues:{network:``,symbol:``,contract_address:``,decimals:6,min_amount:0,enabled:!0}}),f;f=u?.length?u:o?[{network:o,display_name:o}]:[],(0,X.useEffect)(()=>{t&&d.reset({network:r?.network??o??f[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,o,f,d]);async function p(e){r?.id?await l(e):await s(e),n(!1),await i?.()}let g=d.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?te():S()}),(0,Z.jsx)(Ze,{children:r?ue():se()})]}),(0,Z.jsx)(st,{...d,children:(0,Z.jsxs)(`form`,{className:`space-y-4`,onSubmit:d.handleSubmit(p),children:[(0,Z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,Z.jsx)(W,{control:d.control,name:`network`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:x()}),(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:D()})})}),(0,Z.jsx)(ke,{children:f.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:d.control,name:`symbol`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:fe()}),(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:b()}),(0,Z.jsx)(W,{control:d.control,name:`contract_address`,render:({field:t})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:e()}),(0,Z.jsx)(G,{children:(0,Z.jsx)(J,{placeholder:`TR7NHqje...`,...t})}),(0,Z.jsx)(q,{})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,Z.jsx)(W,{control:d.control,name:`decimals`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:c()}),(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:d.control,name:`min_amount`,render:({field:e})=>(0,Z.jsxs)(U,{children:[(0,Z.jsx)(K,{children:ee()}),(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:d.control,name:`enabled`,render:({field:e})=>(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:e.value,onCheckedChange:t=>e.onChange(!!t)})}),(0,Z.jsx)(`div`,{className:`space-y-1 leading-none`,children:(0,Z.jsx)(K,{children:a()})})]})}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Z.jsx)(N,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:y()}),(0,Z.jsx)(N,{disabled:g,type:`submit`,children:g?C():r?h():m()})]})]})})]})})}function ft(e){return[{id:`switch`,header:({column:e})=>(0,Z.jsx)(z,{column:e,title:a()}),cell:({row:t})=>(0,Z.jsx)(R,{checked:t.original.enabled===!0,onCheckedChange:()=>e(t.original.enabled?`disable`:`enable`,t.original)}),enableSorting:!1,enableHiding:!1,meta:{label:a(),skeleton:`switch`,sticky:`left`,th:{className:M(`rounded-tl-[inherit]`)}}},{accessorKey:`symbol`,header:({column:e})=>(0,Z.jsx)(z,{column:e,title:v()}),cell:({row:e})=>(0,Z.jsx)(`div`,{className:`font-medium`,children:e.original.symbol??`-`}),enableHiding:!1,meta:{label:v(),skeleton:`short`}},{accessorKey:`network`,header:({column:e})=>(0,Z.jsx)(z,{column:e,title:x()}),meta:{label:x(),skeleton:`short`}},{accessorKey:`created_at`,header:({column:e})=>(0,Z.jsx)(z,{column:e,title:f()}),cell:({row:e})=>j(e.original.created_at),meta:{label:f(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,Z.jsx)(z,{column:e,title:i()}),cell:({row:e})=>j(e.original.updated_at),meta:{label:i(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:p(),skeleton:`action`,sticky:`right`},cell:({row:t})=>(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:()=>e(`edit`,t.original),children:[de(),(0,Z.jsx)(F,{children:(0,Z.jsx)(qe,{size:16})})]}),(0,Z.jsx)(Te,{}),(0,Z.jsxs)(P,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[ce(),(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:Le(),getFilteredRowModel:Me(),getPaginationRowModel:Be(),getSortedRowModel:Ve(),getFacetedRowModel:Fe(),getFacetedUniqueValues:Pe()});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)(ze,{onRefresh:r,searchKey:`symbol`,searchPlaceholder:pe(),table:f}),(0,Z.jsx)(Re,{emptyText:w(),loading:t,table:f}),(0,Z.jsx)(Ie,{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:i,selectedPanel:a,onSelect:o,onToggle:s,totalTokens:c,hiddenOnMobile:l}){return(0,Z.jsxs)(`div`,{className:M(`flex w-full flex-col gap-2 sm:w-56 lg:w-72 2xl:w-80`,l&&`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:d()}),(0,Z.jsx)(ye,{size:20})]}),(0,Z.jsx)(Y,{variant:`secondary`,children:he({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=>i(e.target.value),placeholder:n(),value:r})]})]}),(0,Z.jsxs)(xe,{className:`-mx-3 h-full overflow-auto p-3`,children:[(0,Z.jsx)($,{active:a===`overview`,onClick:()=>o(`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:u()}),(0,Z.jsx)(`div`,{className:`mt-1 text-muted-foreground text-xs`,children:ge({chains:String(e.length),tokens:String(c)})})]}),(0,Z.jsx)(be,{className:`mt-0.5 size-4 text-muted-foreground`})]})}),(0,Z.jsx)(L,{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)(I,{className:`h-4 w-24`}),(0,Z.jsx)(I,{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)(I,{className:`h-3 w-28`}),(0,Z.jsx)(I,{className:`h-5 w-12 rounded-full`})]})]},e)):e.map((t,n)=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)($,{active:a===t.network,onClick:()=>o(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)(R,{checked:t.enabled===!0,onCheckedChange:e=>s(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:_()}),(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`]})])}function T(e,t){y(e),x(t),g(!0)}async function se(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(ie({status:t?ae():oe()})),await w())}async function ce(e,t){if(e===`edit`){T(t.network??v,t);return}if(e===`enable`||e===`disable`){if(!t.id)return;await c.mutateAsync({params:{path:{id:t.id}},body:{enabled:e===`enable`}}),B.success(le()),await w();return}if(e===`delete`){_(!0);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:se,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:ce,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=>{g(e),e||(x(null),y(``))},onSuccess:async()=>{B.success(b?re():ne()),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:ee}),(0,Z.jsx)(lt,{onOpenChange:_,open:te})]})}var xt=bt;export{xt as component};