Files
epusdt/src/www/assets/addresses-CJgmgI49.js
T
2026-05-11 18:06:53 +08:00

3 lines
11 KiB
JavaScript

import{$a as e,Aa as t,Ba as n,Co as r,Fa as i,Ga as a,Ha as o,Ia as s,Ja as c,Ka as l,La as u,Ma as d,Na as f,Pa as p,Qa as m,Ra as h,So as g,To as _,Ua as v,Va as y,Wa as b,Xa as x,Ya as S,Za as C,_o as w,ao as T,bo as E,co as D,do as O,eo as k,fo as ee,go as te,ho as ne,io as re,ja as ie,lo as ae,mo as oe,nf as se,no as ce,of as le,oo as ue,po as de,qa as A,rf as fe,ro as pe,so as j,to as me,uo as he,vo as ge,wo as M,xo as _e,yo as ve,za as ye}from"./messages-CIE1P6Ia.js";import{a as N}from"./auth-store-BeA1erEm.js";import{r as be,t as xe}from"./router-BZDYjgyo.js";import{r as Se}from"./route-C4XEM2Zs.js";import{o as P}from"./search-provider-DchV6D_p.js";import{i as F,t as I}from"./button-DPKsOYfN.js";import{t as Ce}from"./confirm-dialog-DPWBpav5.js";import{a as L,c as R,l as we,r as Te,s as Ee,t as De}from"./dropdown-menu-FG6X2wl2.js";import{t as z}from"./label-Cgr1NfbY.js";import{a as B,i as V,n as H,r as Oe,t as ke}from"./select-enFb_iQj.js";import{t as Ae}from"./switch-CvnIRuiD.js";import{_ as je,d as U,f as Me,g as Ne,h as Pe,n as Fe,p as Ie,r as Le,t as Re,v as ze,y as Be}from"./data-table-C0LADkf1.js";import{t as Ve}from"./download-TmjIFd4d.js";import{t as He}from"./ellipsis-CF_K8VFn.js";import{t as Ue}from"./eye-off-hWc6Axlo.js";import{t as We}from"./eye-BgoVlOgl.js";import{n as Ge,t as Ke}from"./main-D8OPooIo.js";import{n as qe,t as Je}from"./chains-store-Cd0uXBXz.js";import{n as Ye,t as Xe}from"./trash-2-Bi_MhB44.js";import{d as Ze,f as Qe,l as $e,m as et,p as tt,u as nt}from"./command-DI0ZDeCT.js";import{n as W}from"./dist-B1rrci-H.js";import{c as G,s as rt}from"./zod-C229OmQR.js";import{a as K,c as it,i as q,l as at,n as J,o as Y,s as X,t as ot}from"./form-B9Poq24q.js";import{t as Z}from"./input-nQtdqwWU.js";import{t as st}from"./page-header-B0EfQUvW.js";import{t as ct}from"./textarea--zLcz5On.js";import{t as lt}from"./use-table-url-state-BGiHMi-Q.js";import{t as ut}from"./long-text-pZwWsH6w.js";var Q=le(fe(),1),$=se(),dt=rt({address:G().min(8,ie()),network:G().min(1,t()),remark:G().max(50).optional()});function ft({open:e,onOpenChange:t,currentRow:r,onSuccess:a}){let{chains:l,loading:m}=Je(),g=at({resolver:it(dt),defaultValues:{address:``,network:``,remark:``}}),_=N.useMutation(`post`,`/admin/api/v1/wallets`),b=N.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),x=(0,Q.useMemo)(()=>l.map(e=>e.network).filter(e=>!!e),[l]);(0,Q.useEffect)(()=>{e&&g.reset({address:r?.address??``,network:r?.network??``,remark:r?.remark??``})},[e,r,g]);function S(e){if(r?.id){b.mutate({params:{path:{id:r.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{W.success(f()),t(!1),a?.()}});return}_.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{W.success(d()),t(!1),a?.()}})}let C=_.isPending||b.isPending,w=x.length>0,E=m?v():o(),[O,k]=(0,Q.useState)(!1);return(0,$.jsx)($e,{onOpenChange:t,open:e,children:(0,$.jsxs)(nt,{children:[(0,$.jsxs)(tt,{children:[(0,$.jsx)(et,{children:r?y():n()}),(0,$.jsx)(Ze,{children:r?ye():h()})]}),(0,$.jsx)(ot,{...g,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:g.handleSubmit(S),children:[(0,$.jsx)(q,{control:g.control,name:`network`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:D()}),(0,$.jsxs)(ke,{disabled:!!r||!w,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(J,{children:(0,$.jsx)(V,{className:`w-full`,children:(0,$.jsx)(B,{placeholder:w?j():E})})}),(0,$.jsx)(H,{children:w?x.map(e=>(0,$.jsx)(Oe,{value:e,children:e},e)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:E})})]}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:g.control,name:`address`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:T()}),(0,$.jsx)(J,{children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{...e,className:`pr-10`,disabled:!!r,placeholder:u(),type:O?`text`:`password`}),(0,$.jsx)(`button`,{className:`absolute inset-y-0 right-3 flex items-center text-muted-foreground hover:text-foreground`,onClick:()=>k(e=>!e),type:`button`,children:O?(0,$.jsx)(Ue,{className:`h-4 w-4`}):(0,$.jsx)(We,{className:`h-4 w-4`})})]})}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:g.control,name:`remark`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:c()}),(0,$.jsx)(J,{children:(0,$.jsx)(Z,{...e,placeholder:s()})}),(0,$.jsx)(X,{})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(I,{onClick:()=>t(!1),type:`button`,variant:`outline`,children:re()}),(0,$.jsx)(I,{disabled:C,type:`submit`,children:C?i():p()})]})]})})]})})}function pt(e){return[{id:`status-switch`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:m()}),cell:({row:t})=>(0,$.jsx)(Ae,{checked:t.original.status===1,onCheckedChange:()=>e(t.original.status===1?`disable`:`enable`,t.original)}),enableSorting:!1,enableHiding:!1,meta:{label:m(),skeleton:`switch`,sticky:`left`,th:{className:F(`rounded-tl-[inherit]`)}}},{accessorKey:`address`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:C()}),cell:({row:e})=>(0,$.jsx)(ut,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:C(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:D()}),meta:{label:D(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:x()}),meta:{label:x(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:S()}),cell:({row:e})=>e.original.source??`-`,meta:{label:S(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:c()}),meta:{label:c(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:A()}),cell:({row:e})=>P(e.original.created_at),meta:{label:A(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:l()}),cell:({row:e})=>P(e.original.updated_at),meta:{label:l(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:a(),skeleton:`action`,sticky:`right`,className:F(`w-12`)},cell:({row:t})=>(0,$.jsxs)(De,{modal:!1,children:[(0,$.jsx)(we,{asChild:!0,children:(0,$.jsxs)(I,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,$.jsx)(He,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,$.jsxs)(Te,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(L,{onClick:()=>e(`edit`,t.original),children:[b(),(0,$.jsx)(R,{children:(0,$.jsx)(qe,{size:16})})]}),(0,$.jsx)(Ee,{}),(0,$.jsxs)(L,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[te(),(0,$.jsx)(R,{children:(0,$.jsx)(Xe,{size:16})})]})]})]})}]}var mt=Se(`/_authenticated/addresses/`);function ht({data:t,isLoading:n,onAction:r,onRefresh:i}){let[a,o]=(0,Q.useState)([]),{globalFilter:s,onGlobalFilterChange:c,columnFilters:l,onColumnFiltersChange:u,pagination:d,onPaginationChange:f,ensurePageInRange:p}=lt({search:mt.useSearch(),navigate:mt.useNavigate(),pagination:{defaultPage:1,defaultPageSize:10},globalFilter:{enabled:!0,key:`address`},columnFilters:[{columnId:`status`,searchKey:`status`,type:`array`},{columnId:`network`,searchKey:`network`,type:`array`}]}),m=Me({data:t,columns:(0,Q.useMemo)(()=>pt(r),[r]),state:{sorting:a,columnFilters:l,globalFilter:s,pagination:d},onSortingChange:o,onColumnFiltersChange:u,onGlobalFilterChange:c,onPaginationChange:f,globalFilterFn:(e,t,n)=>{let r=String(n).toLowerCase();return(e.original.address??``).toLowerCase().includes(r)||(e.original.remark??``).toLowerCase().includes(r)},getCoreRowModel:Ie(),getFilteredRowModel:je(),getPaginationRowModel:ze(),getSortedRowModel:Be(),getFacetedRowModel:Pe(),getFacetedUniqueValues:Ne()});(0,Q.useEffect)(()=>{p(m.getPageCount())},[m,p]);let h=[...new Set(t.map(e=>e.network).filter(Boolean))].map(e=>({label:e,value:e}));return(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4`,children:[(0,$.jsx)(Re,{filters:[{columnId:`status`,title:e(),options:[...be]},{columnId:`network`,title:D(),options:h}],onRefresh:i,searchPlaceholder:me(),table:m}),(0,$.jsx)(Le,{className:`min-w-[900px]`,emptyText:k(),loading:n,table:m}),(0,$.jsx)(Fe,{className:`mt-auto`,table:m})]})}function gt(){let{chains:e}=Je(),t=N.useQuery(`get`,`/admin/api/v1/wallets`),n=N.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),i=N.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),a=N.useMutation(`post`,`/admin/api/v1/wallets/batch-import`),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(!e.length){u&&d(``);return}e.some(e=>e.network&&e.network===u)||d(e[0]?.network??``)},[e,u]);async function b(){await xe.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function x(){if(!v?.row.id)return;let e=Number(v.row.id);v.action===`delete`?(await n.mutateAsync({params:{path:{id:e}}}),W.success(_())):(v.action===`enable`||v.action===`disable`)&&(await i.mutateAsync({params:{path:{id:e}},body:{status:v.action===`enable`?1:2}}),W.success(M())),await b(),y(null)}async function S(e,t){if(e===`edit`){h(t),s(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await i.mutateAsync({params:{path:{id:Number(t.id)}},body:{status:e===`enable`?1:2}}),W.success(M()),await b();return}y({action:e,row:t})}async function C(){if(!u){W.error(r());return}let e=f.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){W.error(g());return}let t=((await a.mutateAsync({body:{addresses:e,network:u}})).data??[]).filter(e=>e.ok).length;W.success(_e({success:String(t),total:String(e.length)})),l(!1),p(``),await b()}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ge,{fixed:!0}),(0,$.jsxs)(Ke,{className:`flex flex-1 flex-col gap-4 sm:gap-6`,children:[(0,$.jsx)(st,{actions:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(I,{onClick:()=>l(!0),variant:`outline`,children:[(0,$.jsx)(Ve,{className:`mr-2 h-4 w-4`}),E()]}),(0,$.jsxs)(I,{onClick:()=>{h(null),s(!0)},children:[(0,$.jsx)(Ye,{className:`mr-2 h-4 w-4`}),ve()]})]}),description:ge(),title:w()}),(0,$.jsx)(ht,{data:t.data?.data??[],isLoading:t.isLoading,onAction:S,onRefresh:()=>t.refetch()})]}),(0,$.jsx)(ft,{currentRow:m,onOpenChange:s,onSuccess:()=>t.refetch(),open:o}),v&&(0,$.jsx)(Ce,{confirmText:v.action===`delete`?te():ne(),desc:(0,$.jsx)(`span`,{children:oe({address:String(v.row.address),action:v.action})}),destructive:v.action===`delete`,handleConfirm:x,onOpenChange:()=>y(null),open:!0,title:v.action===`delete`?de():ee()}),(0,$.jsx)($e,{onOpenChange:l,open:c,children:(0,$.jsxs)(nt,{children:[(0,$.jsxs)(tt,{children:[(0,$.jsx)(et,{children:O()}),(0,$.jsx)(Ze,{children:he()})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(z,{children:ae()}),(0,$.jsxs)(ke,{onValueChange:d,value:u,children:[(0,$.jsx)(V,{children:(0,$.jsx)(B,{placeholder:j()})}),(0,$.jsx)(H,{children:e.some(e=>e.network)?e.filter(e=>!!e.network).map(e=>(0,$.jsx)(Oe,{value:e.network,children:e.display_name??e.network??ue()},e.network)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:r()})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(z,{children:T()}),(0,$.jsx)(ct,{className:`min-h-40`,onChange:e=>p(e.target.value),placeholder:`TAddr001
TAddr002
TAddr003`,value:f})]})]}),(0,$.jsxs)(Qe,{children:[(0,$.jsx)(I,{onClick:()=>l(!1),variant:`outline`,children:re()}),(0,$.jsx)(I,{disabled:a.isPending||!e.some(e=>e.network),onClick:C,children:a.isPending?pe():ce()})]})]})})]})}var _t=gt;export{_t as component};