Files
epusdt/src/www/assets/addresses-rkSgGP18.js
T
2026-06-03 20:58:57 +08:00

3 lines
12 KiB
JavaScript

import{r as e}from"./chunk-DECur_0Z.js";import{a as t,o as n}from"./auth-store-DOyiYUBV.js";import{t as r}from"./router-B-Mg3Snv.js";import{t as i}from"./react-CO2uhaBc.js";import{$o as a,Ao as o,Bo as s,Co as c,Do as l,Eo as u,Fo as d,Go as f,Ho as p,Io as m,Jo as h,Ko as g,Lo as _,Mo as v,No as y,Oo as b,Po as x,Qo as ee,Ro as te,So as S,To as C,Uo as w,Vo as ne,Wo as re,Xo as ie,Yo as ae,Zo as oe,_o as T,as as E,bo as D,do as O,es as se,fo as ce,go as le,ho as ue,is as de,jo as k,ko as A,mo as fe,ns as pe,os as j,po as me,pp as he,qo as ge,rs as _e,ss as ve,ts as ye,vo as be,wo as xe,xo as Se,yo as Ce,zo as M}from"./messages-DejrfFke.js";import{r as we}from"./route-_zHPzGz4.js";import{o as N}from"./search-provider-CqQd6qbw.js";import{i as P,t as F}from"./button-Dm9fssyg.js";import{t as Te}from"./confirm-dialog-D5XR6XJY.js";import{a as I,c as L,l as Ee,r as De,s as Oe,t as ke}from"./dropdown-menu-DMpwiSwn.js";import{t as R}from"./label-D1PUyBwZ.js";import{a as z,i as B,n as V,r as H,t as U}from"./select-CSXV3sWC.js";import{t as Ae}from"./switch-D5EDIEYL.js";import{a as W,c as je,d as Me,f as Ne,l as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze,u as Be}from"./data-table-MaNk1WMu.js";import{t as Ve}from"./epusdt-CQXDVW8w.js";import{t as He}from"./download-DNXxlkLo.js";import{t as Ue}from"./ellipsis-DfrFbsb1.js";import{t as We}from"./eye-off-CNvoUNxR.js";import{t as Ge}from"./eye-CnTTVkb2.js";import{n as Ke,t as qe}from"./main-B43mwNOq.js";import{n as Je,t as Ye}from"./chains-store-BMy06foy.js";import{n as Xe,t as Ze}from"./trash-2-BBsEOAHm.js";import{a as Qe,i as $e,o as et,r as tt,s as nt,t as rt}from"./dialog-Dzcophi7.js";import{n as G}from"./dist-CjEMIZpz.js";import{c as K,s as it}from"./zod-CQemhjci.js";import{a as q,c as at,i as J,l as ot,n as Y,o as X,s as Z,t as st}from"./form-Cl-EVzvm.js";import{t as ct}from"./input-CMWUoT6V.js";import{t as lt}from"./page-header-p3wI3cFk.js";import{t as ut}from"./textarea-CTVcSjq1.js";import{t as dt}from"./use-table-url-state-BYLP4A_7.js";import{t as ft}from"./long-text-BsrK_UHc.js";var Q=e(i(),1),$=he(),pt=it({address:K().min(8,ce()),network:K().min(1,O()),remark:K().max(50).optional()});function mt({open:e,onOpenChange:n,currentRow:r,onSuccess:i}){let{chains:a,loading:o}=Ye(),l=ot({resolver:at(pt),defaultValues:{address:``,network:``,remark:``}}),u=t.useMutation(`post`,`/admin/api/v1/wallets`),d=t.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),f=(0,Q.useMemo)(()=>a.map(e=>e.network).filter(e=>!!e),[a]);(0,Q.useEffect)(()=>{e&&l.reset({address:r?.address??``,network:r?.network??``,remark:r?.remark??``})},[e,r,l]);function m(e){if(r?.id){d.mutate({params:{path:{id:r.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{G.success(fe()),n(!1),i?.()}});return}u.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{G.success(me()),n(!1),i?.()}})}let h=u.isPending||d.isPending,g=f.length>0,_=o?xe():c(),[v,y]=(0,Q.useState)(!1);return(0,$.jsx)(rt,{onOpenChange:n,open:e,children:(0,$.jsxs)(tt,{children:[(0,$.jsxs)(et,{children:[(0,$.jsx)(nt,{children:r?S():Se()}),(0,$.jsx)($e,{children:r?D():Ce()})]}),(0,$.jsx)(st,{...l,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:l.handleSubmit(m),children:[(0,$.jsx)(J,{control:l.control,name:`network`,render:({field:e})=>(0,$.jsxs)(q,{children:[(0,$.jsx)(X,{children:w()}),(0,$.jsxs)(U,{disabled:!!r||!g,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(Y,{children:(0,$.jsx)(B,{className:`w-full`,children:(0,$.jsx)(z,{placeholder:g?p():_})})}),(0,$.jsx)(V,{children:g?f.map(e=>(0,$.jsx)(H,{value:e,children:e},e)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:_})})]}),(0,$.jsx)(Z,{})]})}),(0,$.jsx)(J,{control:l.control,name:`address`,render:({field:e})=>(0,$.jsxs)(q,{children:[(0,$.jsx)(X,{children:s()}),(0,$.jsx)(Y,{children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(ct,{...e,className:`pr-10`,disabled:!!r,placeholder:be(),type:v?`text`:`password`}),(0,$.jsx)(`button`,{className:`absolute inset-y-0 right-3 flex items-center text-muted-foreground hover:text-foreground`,onClick:()=>y(e=>!e),type:`button`,children:v?(0,$.jsx)(We,{className:`h-4 w-4`}):(0,$.jsx)(Ge,{className:`h-4 w-4`})})]})}),(0,$.jsx)(Z,{})]})}),(0,$.jsx)(J,{control:l.control,name:`remark`,render:({field:e})=>(0,$.jsxs)(q,{children:[(0,$.jsx)(X,{children:A()}),(0,$.jsx)(Y,{children:(0,$.jsx)(ct,{...e,placeholder:T()})}),(0,$.jsx)(Z,{})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(F,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:M()}),(0,$.jsx)(F,{disabled:h,type:`submit`,children:h?le():ue()})]})]})})]})})}function ht(e){return[{id:`status-switch`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:y()}),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:y(),skeleton:`switch`,sticky:`left`,th:{className:P(`rounded-tl-[inherit]`)}}},{accessorKey:`address`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:v()}),cell:({row:e})=>(0,$.jsx)(ft,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:v(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:w()}),meta:{label:w(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:k()}),meta:{label:k(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:o()}),cell:({row:e})=>e.original.source??`-`,meta:{label:o(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:A()}),meta:{label:A(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:b()}),cell:({row:e})=>N(e.original.created_at),meta:{label:b(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(W,{column:e,title:l()}),cell:({row:e})=>N(e.original.updated_at),meta:{label:l(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:u(),skeleton:`action`,sticky:`right`,className:P(`w-12`)},cell:({row:t})=>(0,$.jsxs)(ke,{modal:!1,children:[(0,$.jsx)(Ee,{asChild:!0,children:(0,$.jsxs)(F,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,$.jsx)(Ue,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,$.jsxs)(De,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(I,{onClick:()=>e(`edit`,t.original),children:[C(),(0,$.jsx)(L,{children:(0,$.jsx)(Je,{size:16})})]}),(0,$.jsx)(Oe,{}),(0,$.jsxs)(I,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[oe(),(0,$.jsx)(L,{children:(0,$.jsx)(Ze,{size:16})})]})]})]})}]}var gt=we(`/_authenticated/addresses/`);function _t({data:e,isLoading:t,onAction:n,onRefresh:r}){let[i,a]=(0,Q.useState)([]),{globalFilter:o,onGlobalFilterChange:s,columnFilters:c,onColumnFiltersChange:l,pagination:u,onPaginationChange:f,ensurePageInRange:p}=dt({search:gt.useSearch(),navigate:gt.useNavigate(),pagination:{defaultPage:1,defaultPageSize:10},globalFilter:{enabled:!0,key:`address`},columnFilters:[{columnId:`status`,searchKey:`status`,type:`array`},{columnId:`network`,searchKey:`network`,type:`array`}]}),h=Ie({data:e,columns:(0,Q.useMemo)(()=>ht(n),[n]),state:{sorting:i,columnFilters:c,globalFilter:o,pagination:u},onSortingChange:a,onColumnFiltersChange:l,onGlobalFilterChange:s,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:Re(),getFilteredRowModel:Be(),getPaginationRowModel:Me(),getSortedRowModel:Ne(),getFacetedRowModel:je(),getFacetedUniqueValues:Pe()});(0,Q.useEffect)(()=>{p(h.getPageCount())},[h,p]);let g=[...new Set(e.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)(ze,{filters:[{columnId:`status`,title:x(),options:[...Ve]},{columnId:`network`,title:w(),options:g}],onRefresh:r,searchPlaceholder:m(),table:h}),(0,$.jsx)(Le,{className:`min-w-[900px]`,emptyText:d(),loading:t,table:h}),(0,$.jsx)(Fe,{className:`mt-auto`,table:h})]})}function vt(){let{chains:e}=Ye(),i=t.useQuery(`get`,`/admin/api/v1/wallets`),o=t.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),c=t.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),l=t.useMutation(`post`,`/admin/api/v1/wallets/batch-import`),[u,d]=(0,Q.useState)(!1),[m,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)(``),[C,w]=(0,Q.useState)(null),[T,D]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(!e.length){y&&b(``);return}e.some(e=>e.network&&e.network===y)||b(e[0]?.network??``)},[e,y]);async function O(){await r.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function ce(){if(!T?.row.id)return;let e=Number(T.row.id);T.action===`delete`?(await o.mutateAsync({params:{path:{id:e}}}),G.success(ve())):(T.action===`enable`||T.action===`disable`)&&(await c.mutateAsync({params:{path:{id:e}},body:{status:T.action===`enable`?1:2}}),G.success(j())),await O(),D(null)}async function le(e,t){if(e===`edit`){w(t),d(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await c.mutateAsync({params:{path:{id:Number(t.id)}},body:{status:e===`enable`?1:2}}),G.success(j()),await O();return}D({action:e,row:t})}async function ue(){if(!y){G.error(E());return}let e=x.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){G.error(de());return}let t=(await l.mutateAsync({body:{addresses:e,network:y}})).data??[],r=t.filter(e=>e.ok).length,i=t.find(e=>!e.ok);i?G.error(pe({error:i.error_code?n(i.error_code):i.error??``,success:String(r),total:String(e.length)})):G.success(_e({success:String(r),total:String(e.length)})),v(!1),S(``),await O()}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ke,{fixed:!0}),(0,$.jsxs)(qe,{className:`flex flex-1 flex-col gap-4 sm:gap-6`,children:[(0,$.jsx)(lt,{actions:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(F,{onClick:()=>v(!0),variant:`outline`,children:[(0,$.jsx)(He,{className:`mr-2 h-4 w-4`}),ye()]}),(0,$.jsxs)(F,{onClick:()=>{w(null),d(!0)},children:[(0,$.jsx)(Xe,{className:`mr-2 h-4 w-4`}),se()]})]}),description:a(),title:ee()}),(0,$.jsx)(_t,{data:i.data?.data??[],isLoading:i.isLoading,onAction:le,onRefresh:()=>i.refetch()})]}),(0,$.jsx)(mt,{currentRow:C,onOpenChange:d,onSuccess:()=>i.refetch(),open:u}),T&&(0,$.jsx)(Te,{confirmText:T.action===`delete`?oe():ie(),desc:(0,$.jsx)(`span`,{children:ae({address:String(T.row.address),action:T.action})}),destructive:T.action===`delete`,handleConfirm:ce,onOpenChange:()=>D(null),open:!0,title:T.action===`delete`?h():ge()}),(0,$.jsx)(rt,{onOpenChange:v,open:m,children:(0,$.jsxs)(tt,{children:[(0,$.jsxs)(et,{children:[(0,$.jsx)(nt,{children:g()}),(0,$.jsx)($e,{children:f()})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(R,{children:re()}),(0,$.jsxs)(U,{onValueChange:b,value:y,children:[(0,$.jsx)(B,{children:(0,$.jsx)(z,{placeholder:p()})}),(0,$.jsx)(V,{children:e.some(e=>e.network)?e.filter(e=>!!e.network).map(e=>(0,$.jsx)(H,{value:e.network,children:e.display_name??e.network??ne()},e.network)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:E()})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(R,{children:s()}),(0,$.jsx)(ut,{className:`min-h-40`,onChange:e=>S(e.target.value),placeholder:`TAddr001
TAddr002
TAddr003`,value:x})]})]}),(0,$.jsxs)(Qe,{children:[(0,$.jsx)(F,{onClick:()=>v(!1),variant:`outline`,children:M()}),(0,$.jsx)(F,{disabled:l.isPending||!e.some(e=>e.network),onClick:ue,children:l.isPending?te():_()})]})]})})]})}var yt=vt;export{yt as component};