mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 02:06:16 +00:00
3 lines
11 KiB
JavaScript
3 lines
11 KiB
JavaScript
import{r as e}from"./chunk-DECur_0Z.js";import{a as t}from"./auth-store-CeX2QaQI.js";import{t as n}from"./router-CCfxRYoU.js";import{t as r}from"./react-CO2uhaBc.js";import{$a as i,Ao as a,Bo as o,Cf as s,Co as c,Do as l,Eo as u,Fo as d,Go as f,Ho as p,Io as m,Lo as h,Mo as g,No as _,Oo as v,Po as ee,Qa as te,Ro as ne,So as re,To as ie,Uo as ae,Vo as oe,Wo as se,Xa as y,Za as ce,_o as b,ao as x,bo as S,co as C,do as w,eo as le,fo as T,go as E,ho as D,io as O,jo as ue,ko as de,lo as fe,mo as k,no as A,oo as pe,po as j,ro as me,so as he,to as ge,uo as _e,vo as M,wo as N,xo as ve,yo as ye,zo as be}from"./messages-CA0k74Lg.js";import{r as xe}from"./route-DoCd_Vr1.js";import{o as P}from"./search-provider-DWK6TDJZ.js";import{i as F,t as I}from"./button-CfqkRSM8.js";import{t as Se}from"./confirm-dialog-BNVecbxK.js";import{a as L,c as R,l as Ce,r as we,s as Te,t as Ee}from"./dropdown-menu-DzCpLWTE.js";import{t as z}from"./label-DStyJi9T.js";import{a as B,i as V,n as H,r as De,t as Oe}from"./select-0mb7fNAV.js";import{t as ke}from"./switch-YaVuq4WZ.js";import{a as U,c as Ae,d as je,f as Me,l as Ne,n as Pe,o as Fe,r as Ie,s as Le,t as Re,u as ze}from"./data-table-D2ifPG1Y.js";import{t as Be}from"./epusdt-N2ZkW2b8.js";import{t as Ve}from"./download-DNXxlkLo.js";import{t as He}from"./ellipsis-DfrFbsb1.js";import{t as Ue}from"./eye-off-CNvoUNxR.js";import{t as We}from"./eye-CnTTVkb2.js";import{n as Ge,t as Ke}from"./main-CupYVJXI.js";import{n as qe,t as Je}from"./chains-store-CKbItqMR.js";import{n as Ye,t as Xe}from"./trash-2-BBsEOAHm.js";import{n as W}from"./dist-BJ92XTI_.js";import{c as G,s as Ze}from"./zod-CtXLSkFW.js";import{a as Qe,i as $e,n as et,o as tt,r as nt,t as rt}from"./dialog-B3xx2MKo.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-C3PRruHl.js";import{t as Z}from"./input-Dyq5zXZe.js";import{t as st}from"./page-header-DLBUeYaU.js";import{t as ct}from"./textarea-CU6qf3O-.js";import{t as lt}from"./use-table-url-state-BYLP4A_7.js";import{t as ut}from"./long-text-DJ0X6UDy.js";var Q=e(r(),1),$=s(),dt=Ze({address:G().min(8,ce()),network:G().min(1,y()),remark:G().max(50).optional()});function ft({open:e,onOpenChange:n,currentRow:r,onSuccess:a}){let{chains:o,loading:s}=Je(),c=at({resolver:it(dt),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)(()=>o.map(e=>e.network).filter(e=>!!e),[o]);(0,Q.useEffect)(()=>{e&&c.reset({address:r?.address??``,network:r?.network??``,remark:r?.remark??``})},[e,r,c]);function p(e){if(r?.id){d.mutate({params:{path:{id:r.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{W.success(i()),n(!1),a?.()}});return}u.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{W.success(te()),n(!1),a?.()}})}let m=u.isPending||d.isPending,h=f.length>0,g=s?fe():C(),[_,ee]=(0,Q.useState)(!1);return(0,$.jsx)(rt,{onOpenChange:n,open:e,children:(0,$.jsxs)(et,{children:[(0,$.jsxs)(Qe,{children:[(0,$.jsx)(tt,{children:r?he():pe()}),(0,$.jsx)(nt,{children:r?x():O()})]}),(0,$.jsx)(ot,{...c,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:c.handleSubmit(p),children:[(0,$.jsx)(q,{control:c.control,name:`network`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:v()}),(0,$.jsxs)(Oe,{disabled:!!r||!h,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(J,{children:(0,$.jsx)(V,{className:`w-full`,children:(0,$.jsx)(B,{placeholder:h?l():g})})}),(0,$.jsx)(H,{children:h?f.map(e=>(0,$.jsx)(De,{value:e,children:e},e)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:g})})]}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:c.control,name:`address`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:ie()}),(0,$.jsx)(J,{children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{...e,className:`pr-10`,disabled:!!r,placeholder:me(),type:_?`text`:`password`}),(0,$.jsx)(`button`,{className:`absolute inset-y-0 right-3 flex items-center text-muted-foreground hover:text-foreground`,onClick:()=>ee(e=>!e),type:`button`,children:_?(0,$.jsx)(Ue,{className:`h-4 w-4`}):(0,$.jsx)(We,{className:`h-4 w-4`})})]})}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:c.control,name:`remark`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:k()}),(0,$.jsx)(J,{children:(0,$.jsx)(Z,{...e,placeholder:A()})}),(0,$.jsx)(X,{})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(I,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:N()}),(0,$.jsx)(I,{disabled:m,type:`submit`,children:m?ge():le()})]})]})})]})})}function pt(e){return[{id:`status-switch`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:M()}),cell:({row:t})=>(0,$.jsx)(ke,{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:b()}),cell:({row:e})=>(0,$.jsx)(ut,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:b(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:v()}),meta:{label:v(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:E()}),meta:{label:E(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:D()}),cell:({row:e})=>e.original.source??`-`,meta:{label:D(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:k()}),meta:{label:k(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:j()}),cell:({row:e})=>P(e.original.created_at),meta:{label:j(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:T()}),cell:({row:e})=>P(e.original.updated_at),meta:{label:T(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:w(),skeleton:`action`,sticky:`right`,className:F(`w-12`)},cell:({row:t})=>(0,$.jsxs)(Ee,{modal:!1,children:[(0,$.jsx)(Ce,{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)(we,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(L,{onClick:()=>e(`edit`,t.original),children:[_e(),(0,$.jsx)(R,{children:(0,$.jsx)(qe,{size:16})})]}),(0,$.jsx)(Te,{}),(0,$.jsxs)(L,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[m(),(0,$.jsx)(R,{children:(0,$.jsx)(Xe,{size:16})})]})]})]})}]}var mt=xe(`/_authenticated/addresses/`);function ht({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:d,ensurePageInRange:f}=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`}]}),p=Fe({data:e,columns:(0,Q.useMemo)(()=>pt(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.address??``).toLowerCase().includes(r)||(e.original.remark??``).toLowerCase().includes(r)},getCoreRowModel:Le(),getFilteredRowModel:ze(),getPaginationRowModel:je(),getSortedRowModel:Me(),getFacetedRowModel:Ae(),getFacetedUniqueValues:Ne()});(0,Q.useEffect)(()=>{f(p.getPageCount())},[p,f]);let m=[...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)(Re,{filters:[{columnId:`status`,title:ye(),options:[...Be]},{columnId:`network`,title:v(),options:m}],onRefresh:r,searchPlaceholder:ve(),table:p}),(0,$.jsx)(Ie,{className:`min-w-[900px]`,emptyText:S(),loading:t,table:p}),(0,$.jsx)(Pe,{className:`mt-auto`,table:p})]})}function gt(){let{chains:e}=Je(),r=t.useQuery(`get`,`/admin/api/v1/wallets`),i=t.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),s=t.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),v=t.useMutation(`post`,`/admin/api/v1/wallets/batch-import`),[te,y]=(0,Q.useState)(!1),[ce,b]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(``),[C,w]=(0,Q.useState)(``),[le,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(!e.length){x&&S(``);return}e.some(e=>e.network&&e.network===x)||S(e[0]?.network??``)},[e,x]);async function O(){await n.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function fe(){if(!E?.row.id)return;let e=Number(E.row.id);E.action===`delete`?(await i.mutateAsync({params:{path:{id:e}}}),W.success(f())):(E.action===`enable`||E.action===`disable`)&&(await s.mutateAsync({params:{path:{id:e}},body:{status:E.action===`enable`?1:2}}),W.success(se())),await O(),D(null)}async function k(e,t){if(e===`edit`){T(t),y(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await s.mutateAsync({params:{path:{id:Number(t.id)}},body:{status:e===`enable`?1:2}}),W.success(se()),await O();return}D({action:e,row:t})}async function A(){if(!x){W.error(ae());return}let e=C.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){W.error(p());return}let t=((await v.mutateAsync({body:{addresses:e,network:x}})).data??[]).filter(e=>e.ok).length;W.success(oe({success:String(t),total:String(e.length)})),b(!1),w(``),await O()}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:()=>b(!0),variant:`outline`,children:[(0,$.jsx)(Ve,{className:`mr-2 h-4 w-4`}),o()]}),(0,$.jsxs)(I,{onClick:()=>{T(null),y(!0)},children:[(0,$.jsx)(Ye,{className:`mr-2 h-4 w-4`}),be()]})]}),description:ne(),title:h()}),(0,$.jsx)(ht,{data:r.data?.data??[],isLoading:r.isLoading,onAction:k,onRefresh:()=>r.refetch()})]}),(0,$.jsx)(ft,{currentRow:le,onOpenChange:y,onSuccess:()=>r.refetch(),open:te}),E&&(0,$.jsx)(Se,{confirmText:E.action===`delete`?m():d(),desc:(0,$.jsx)(`span`,{children:ee({address:String(E.row.address),action:E.action})}),destructive:E.action===`delete`,handleConfirm:fe,onOpenChange:()=>D(null),open:!0,title:E.action===`delete`?_():g()}),(0,$.jsx)(rt,{onOpenChange:b,open:ce,children:(0,$.jsxs)(et,{children:[(0,$.jsxs)(Qe,{children:[(0,$.jsx)(tt,{children:ue()}),(0,$.jsx)(nt,{children:a()})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(z,{children:de()}),(0,$.jsxs)(Oe,{onValueChange:S,value:x,children:[(0,$.jsx)(V,{children:(0,$.jsx)(B,{placeholder:l()})}),(0,$.jsx)(H,{children:e.some(e=>e.network)?e.filter(e=>!!e.network).map(e=>(0,$.jsx)(De,{value:e.network,children:e.display_name??e.network??u()},e.network)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:ae()})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(z,{children:ie()}),(0,$.jsx)(ct,{className:`min-h-40`,onChange:e=>w(e.target.value),placeholder:`TAddr001
|
|
TAddr002
|
|
TAddr003`,value:C})]})]}),(0,$.jsxs)($e,{children:[(0,$.jsx)(I,{onClick:()=>b(!1),variant:`outline`,children:N()}),(0,$.jsx)(I,{disabled:v.isPending||!e.some(e=>e.network),onClick:A,children:v.isPending?c():re()})]})]})})]})}var _t=gt;export{_t as component}; |