Files
epusdt/src/www/assets/addresses-B_oWmMaY.js
T
2026-06-10 00:18:24 +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-GibZbQPL.js";import{t as r}from"./router-DlQvj2uD.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,Pp as S,Qo as ee,Ro as te,So as ne,To as C,Uo as w,Vo as re,Wo as ie,Xo as ae,Yo as oe,Zo as T,_o as E,as as se,bo as D,do as O,es as ce,fo as k,go as le,ho as ue,is as de,jo as fe,ko as A,mo as pe,ns as me,os as he,po as ge,qo as _e,rs as ve,ss as ye,ts as be,vo as xe,wo as Se,xo as Ce,yo as we,zo as Te}from"./messages-d1hRBHLP.js";import{r as Ee}from"./route-Bea3HGvi.js";import{o as De}from"./search-provider-Zrg-SPXk.js";import{i as Oe,t as j}from"./button-CbdgUDvS.js";import{t as ke}from"./confirm-dialog-CIBixfaW.js";import{a as M,c as N,l as Ae,r as je,s as Me,t as Ne}from"./dropdown-menu-DwTFINO1.js";import{t as P}from"./label-88tbhryO.js";import{a as F,i as I,n as L,r as R,t as z}from"./select-Cv_sRi68.js";import{t as Pe}from"./switch-BE0OlU-S.js";import{a as B,c as Fe,d as Ie,f as Le,l as Re,n as ze,o as Be,r as Ve,s as He,t as Ue,u as We}from"./data-table-BL1bMqGh.js";import{t as Ge}from"./epusdt-j7qVfa5L.js";import{t as Ke}from"./download-DNXxlkLo.js";import{t as qe}from"./ellipsis-DfrFbsb1.js";import{t as Je}from"./eye-off-CNvoUNxR.js";import{t as Ye}from"./eye-CnTTVkb2.js";import{n as Xe,t as Ze}from"./main-A2K7nB2i.js";import{n as Qe,t as V}from"./chains-store-N5rcSW1S.js";import{n as $e,t as et}from"./trash-2-BBsEOAHm.js";import{a as tt,i as H,o as U,r as nt,s as rt,t as it}from"./dialog-SgRLLGoQ.js";import{n as W}from"./dist-Bk35TVDN.js";import{c as G,s as at}from"./zod-CQemhjci.js";import{a as K,c as ot,i as q,l as st,n as J,o as Y,s as X,t as ct}from"./form-Db7d571a.js";import{t as lt}from"./input-CusCjhBW.js";import{t as ut}from"./page-header-DkeFH2Rh.js";import{t as dt}from"./textarea-DIBKWAfY.js";import{t as ft}from"./use-table-url-state-BYLP4A_7.js";import{t as pt}from"./long-text-v53cLqiY.js";var Z=e(i(),1),Q=S(),mt=at({address:G().min(8,k()),network:G().min(1,O()),remark:G().max(50).optional()});function ht({open:e,onOpenChange:n,currentRow:r,onSuccess:i}){let{chains:a,loading:o}=V(),l=st({resolver:ot(mt),defaultValues:{address:``,network:``,remark:``}}),u=t.useMutation(`post`,`/admin/api/v1/wallets`),d=t.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),f=(0,Z.useMemo)(()=>a.map(e=>e.network).filter(e=>!!e),[a]);(0,Z.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:()=>{W.success(pe()),n(!1),i?.()}});return}u.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{W.success(ge()),n(!1),i?.()}})}let h=u.isPending||d.isPending,g=f.length>0,_=o?Se():c(),[v,y]=(0,Z.useState)(!1);return(0,Q.jsx)(it,{onOpenChange:n,open:e,children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(U,{children:[(0,Q.jsx)(rt,{children:r?ne():Ce()}),(0,Q.jsx)(H,{children:r?D():we()})]}),(0,Q.jsx)(ct,{...l,children:(0,Q.jsxs)(`form`,{className:`space-y-4`,onSubmit:l.handleSubmit(m),children:[(0,Q.jsx)(q,{control:l.control,name:`network`,render:({field:e})=>(0,Q.jsxs)(K,{children:[(0,Q.jsx)(Y,{children:w()}),(0,Q.jsxs)(z,{disabled:!!r||!g,onValueChange:e.onChange,value:e.value,children:[(0,Q.jsx)(J,{children:(0,Q.jsx)(I,{className:`w-full`,children:(0,Q.jsx)(F,{placeholder:g?p():_})})}),(0,Q.jsx)(L,{children:g?f.map(e=>(0,Q.jsx)(R,{value:e,children:e},e)):(0,Q.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:_})})]}),(0,Q.jsx)(X,{})]})}),(0,Q.jsx)(q,{control:l.control,name:`address`,render:({field:e})=>(0,Q.jsxs)(K,{children:[(0,Q.jsx)(Y,{children:s()}),(0,Q.jsx)(J,{children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(lt,{...e,className:`pr-10`,disabled:!!r,placeholder:xe(),type:v?`text`:`password`}),(0,Q.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,Q.jsx)(Je,{className:`h-4 w-4`}):(0,Q.jsx)(Ye,{className:`h-4 w-4`})})]})}),(0,Q.jsx)(X,{})]})}),(0,Q.jsx)(q,{control:l.control,name:`remark`,render:({field:e})=>(0,Q.jsxs)(K,{children:[(0,Q.jsx)(Y,{children:A()}),(0,Q.jsx)(J,{children:(0,Q.jsx)(lt,{...e,placeholder:E()})}),(0,Q.jsx)(X,{})]})}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(j,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:Te()}),(0,Q.jsx)(j,{disabled:h,type:`submit`,children:h?le():ue()})]})]})})]})})}function gt(e){return[{id:`status-switch`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:y()}),cell:({row:t})=>(0,Q.jsx)(Pe,{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:Oe(`rounded-tl-[inherit]`)}}},{accessorKey:`address`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:v()}),cell:({row:e})=>(0,Q.jsx)(pt,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:v(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:w()}),meta:{label:w(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:fe()}),meta:{label:fe(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:o()}),cell:({row:e})=>e.original.source??`-`,meta:{label:o(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:A()}),meta:{label:A(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:b()}),cell:({row:e})=>De(e.original.created_at),meta:{label:b(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,Q.jsx)(B,{column:e,title:l()}),cell:({row:e})=>De(e.original.updated_at),meta:{label:l(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:u(),skeleton:`action`,sticky:`right`,className:Oe(`w-12`)},cell:({row:t})=>(0,Q.jsxs)(Ne,{modal:!1,children:[(0,Q.jsx)(Ae,{asChild:!0,children:(0,Q.jsxs)(j,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,Q.jsx)(qe,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,Q.jsxs)(je,{align:`end`,className:`w-40`,children:[(0,Q.jsxs)(M,{onClick:()=>e(`edit`,t.original),children:[C(),(0,Q.jsx)(N,{children:(0,Q.jsx)(Qe,{size:16})})]}),(0,Q.jsx)(Me,{}),(0,Q.jsxs)(M,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[T(),(0,Q.jsx)(N,{children:(0,Q.jsx)(et,{size:16})})]})]})]})}]}var $=Ee(`/_authenticated/addresses/`);function _t({data:e,isLoading:t,onAction:n,onRefresh:r}){let[i,a]=(0,Z.useState)([]),{globalFilter:o,onGlobalFilterChange:s,columnFilters:c,onColumnFiltersChange:l,pagination:u,onPaginationChange:f,ensurePageInRange:p}=ft({search:$.useSearch(),navigate:$.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=Be({data:e,columns:(0,Z.useMemo)(()=>gt(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:He(),getFilteredRowModel:We(),getPaginationRowModel:Ie(),getSortedRowModel:Le(),getFacetedRowModel:Fe(),getFacetedUniqueValues:Re()});(0,Z.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,Q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4`,children:[(0,Q.jsx)(Ue,{filters:[{columnId:`status`,title:x(),options:[...Ge]},{columnId:`network`,title:w(),options:g}],onRefresh:r,searchPlaceholder:m(),table:h}),(0,Q.jsx)(Ve,{className:`min-w-[900px]`,emptyText:d(),loading:t,table:h}),(0,Q.jsx)(ze,{className:`mt-auto`,table:h})]})}function vt(){let{chains:e}=V(),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,Z.useState)(!1),[m,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(``),[ne,C]=(0,Z.useState)(null),[w,E]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!e.length){y&&b(``);return}e.some(e=>e.network&&e.network===y)||b(e[0]?.network??``)},[e,y]);async function D(){await r.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function O(){if(!w?.row.id)return;let e=Number(w.row.id);w.action===`delete`?(await o.mutateAsync({params:{path:{id:e}}}),W.success(ye())):(w.action===`enable`||w.action===`disable`)&&(await c.mutateAsync({params:{path:{id:e}},body:{status:w.action===`enable`?1:2}}),W.success(he())),await D(),E(null)}async function k(e,t){if(e===`edit`){C(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}}),W.success(he()),await D();return}E({action:e,row:t})}async function le(){if(!y){W.error(se());return}let e=x.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){W.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?W.error(me({error:i.error_code?n(i.error_code):i.error??``,success:String(r),total:String(e.length)})):W.success(ve({success:String(r),total:String(e.length)})),v(!1),S(``),await D()}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Xe,{fixed:!0}),(0,Q.jsxs)(Ze,{className:`flex flex-1 flex-col gap-4 sm:gap-6`,children:[(0,Q.jsx)(ut,{actions:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(j,{onClick:()=>v(!0),variant:`outline`,children:[(0,Q.jsx)(Ke,{className:`mr-2 h-4 w-4`}),be()]}),(0,Q.jsxs)(j,{onClick:()=>{C(null),d(!0)},children:[(0,Q.jsx)($e,{className:`mr-2 h-4 w-4`}),ce()]})]}),description:a(),title:ee()}),(0,Q.jsx)(_t,{data:i.data?.data??[],isLoading:i.isLoading,onAction:k,onRefresh:()=>i.refetch()})]}),(0,Q.jsx)(ht,{currentRow:ne,onOpenChange:d,onSuccess:()=>i.refetch(),open:u}),w&&(0,Q.jsx)(ke,{confirmText:w.action===`delete`?T():ae(),desc:(0,Q.jsx)(`span`,{children:oe({address:String(w.row.address),action:w.action})}),destructive:w.action===`delete`,handleConfirm:O,onOpenChange:()=>E(null),open:!0,title:w.action===`delete`?h():_e()}),(0,Q.jsx)(it,{onOpenChange:v,open:m,children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(U,{children:[(0,Q.jsx)(rt,{children:g()}),(0,Q.jsx)(H,{children:f()})]}),(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(P,{children:ie()}),(0,Q.jsxs)(z,{onValueChange:b,value:y,children:[(0,Q.jsx)(I,{children:(0,Q.jsx)(F,{placeholder:p()})}),(0,Q.jsx)(L,{children:e.some(e=>e.network)?e.filter(e=>!!e.network).map(e=>(0,Q.jsx)(R,{value:e.network,children:e.display_name??e.network??re()},e.network)):(0,Q.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:se()})})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(P,{children:s()}),(0,Q.jsx)(dt,{className:`min-h-40`,onChange:e=>S(e.target.value),placeholder:`TAddr001
TAddr002
TAddr003`,value:x})]})]}),(0,Q.jsxs)(tt,{children:[(0,Q.jsx)(j,{onClick:()=>v(!1),variant:`outline`,children:Te()}),(0,Q.jsx)(j,{disabled:l.isPending||!e.some(e=>e.network),onClick:le,children:l.isPending?te():_()})]})]})})]})}var yt=vt;export{yt as component};