mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 18:26:16 +00:00
3 lines
11 KiB
JavaScript
3 lines
11 KiB
JavaScript
import{$a as e,$d as t,Aa as n,Ba as r,Ca as i,Da as a,Ea as o,Fa as s,Ga as c,Ha as l,Ia as u,Ja as d,Ka as f,La as p,Ma as m,Na as h,Oa as g,Pa as _,Qa as v,Ra as y,Ta as b,Ua as x,Va as S,Wa as C,Xa as w,Xd as T,Ya as E,Yd as D,Za as ee,_o as te,ao as ne,co as re,do as ie,eo as ae,fo as oe,go as se,ho as ce,io as le,ja as ue,ka as de,lo as O,mo as fe,no as pe,oo as me,po as he,qa as ge,ro as _e,so as ve,to as k,uo as ye,vo as be,wa as xe,za as A}from"./messages-kZy_2fG-.js";import{a as j}from"./auth-store-B7YG314a.js";import{r as Se,t as Ce}from"./router-CAFGtbfd.js";import{r as we}from"./route-B7-h3scF.js";import{o as M}from"./search-provider-BLfAXVyy.js";import{i as N,t as P}from"./button-CI1sqFDO.js";import{t as Te}from"./confirm-dialog-N7FIzDUo.js";import{a as F,c as I,l as Ee,r as De,s as Oe,t as ke}from"./dropdown-menu-CPJ_eMIt.js";import{t as L}from"./label-B6I7r7Hn.js";import{a as R,i as z,n as B,r as V,t as H}from"./select-RDYeL0gL.js";import{t as Ae}from"./switch-G9JqQET5.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-DckmiBCR.js";import{t as Ve}from"./download-BS2DlH4c.js";import{t as He}from"./ellipsis-BTvNQjRv.js";import{t as Ue}from"./eye-off-CoMc8-kP.js";import{t as We}from"./eye-CdR5ptdv.js";import{n as Ge,t as Ke}from"./main-CEEtgVzp.js";import{n as qe,t as Je}from"./chains-store-Do-NE2MF.js";import{n as Ye,t as Xe}from"./trash-2-Cedx40kx.js";import{d as Ze,f as Qe,l as $e,m as et,p as tt,u as nt}from"./command-St1f4L7D.js";import{n as W}from"./dist-A3SZ_duZ.js";import{c as G,s as rt}from"./zod-BDZSAwfF.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-Cb-bizIH.js";import{t as Z}from"./input-Bhusz9zP.js";import{t as st}from"./page-header-Bto-ujL-.js";import{t as ct}from"./textarea-DVJ0f7tO.js";import{t as lt}from"./use-table-url-state-2gqZlSnF.js";import{t as ut}from"./long-text-WZH5brmn.js";var Q=t(T(),1),$=D(),dt=rt({address:G().min(8,xe()),network:G().min(1,i()),remark:G().max(50).optional()});function ft({open:e,onOpenChange:t,currentRow:r,onSuccess:i}){let{chains:c,loading:l}=Je(),d=at({resolver:it(dt),defaultValues:{address:``,network:``,remark:``}}),f=j.useMutation(`post`,`/admin/api/v1/wallets`),p=j.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),y=(0,Q.useMemo)(()=>c.map(e=>e.network).filter(e=>!!e),[c]);(0,Q.useEffect)(()=>{e&&d.reset({address:r?.address??``,network:r?.network??``,remark:r?.remark??``})},[e,r,d]);function x(e){if(r?.id){p.mutate({params:{path:{id:r.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{W.success(o()),t(!1),i?.()}});return}f.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{W.success(b()),t(!1),i?.()}})}let C=f.isPending||p.isPending,w=y.length>0,T=l?u():s(),[E,D]=(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?_():h()}),(0,$.jsx)(Ze,{children:r?m():ue()})]}),(0,$.jsx)(ot,{...d,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:d.handleSubmit(x),children:[(0,$.jsx)(q,{control:d.control,name:`network`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:k()}),(0,$.jsxs)(H,{disabled:!!r||!w,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(J,{children:(0,$.jsx)(z,{className:`w-full`,children:(0,$.jsx)(R,{placeholder:w?ae():T})})}),(0,$.jsx)(B,{children:w?y.map(e=>(0,$.jsx)(V,{value:e,children:e},e)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:T})})]}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:d.control,name:`address`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:v()}),(0,$.jsx)(J,{children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{...e,className:`pr-10`,disabled:!!r,placeholder:n(),type:E?`text`:`password`}),(0,$.jsx)(`button`,{className:`absolute inset-y-0 right-3 flex items-center text-muted-foreground hover:text-foreground`,onClick:()=>D(e=>!e),type:`button`,children:E?(0,$.jsx)(Ue,{className:`h-4 w-4`}):(0,$.jsx)(We,{className:`h-4 w-4`})})]})}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:d.control,name:`remark`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:S()}),(0,$.jsx)(J,{children:(0,$.jsx)(Z,{...e,placeholder:de()})}),(0,$.jsx)(X,{})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(P,{onClick:()=>t(!1),type:`button`,variant:`outline`,children:ee()}),(0,$.jsx)(P,{disabled:C,type:`submit`,children:C?g():a()})]})]})})]})})}function pt(e){return[{id:`status-switch`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:c()}),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:c(),skeleton:`switch`,sticky:`left`,th:{className:N(`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:k()}),meta:{label:k(),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:l()}),cell:({row:e})=>e.original.source??`-`,meta:{label:l(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:S()}),meta:{label:S(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:r()}),cell:({row:e})=>M(e.original.created_at),meta:{label:r(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:A()}),cell:({row:e})=>M(e.original.updated_at),meta:{label:A(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:y(),skeleton:`action`,sticky:`right`,className:N(`w-12`)},cell:({row:t})=>(0,$.jsxs)(ke,{modal:!1,children:[(0,$.jsx)(Ee,{asChild:!0,children:(0,$.jsxs)(P,{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)(De,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(F,{onClick:()=>e(`edit`,t.original),children:[p(),(0,$.jsx)(I,{children:(0,$.jsx)(qe,{size:16})})]}),(0,$.jsx)(Oe,{}),(0,$.jsxs)(F,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[O(),(0,$.jsx)(I,{children:(0,$.jsx)(Xe,{size:16})})]})]})]})}]}var mt=we(`/_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:p,ensurePageInRange:m}=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`}]}),h=Me({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:p,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)(()=>{m(h.getPageCount())},[h,m]);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)(Re,{filters:[{columnId:`status`,title:f(),options:[...Se]},{columnId:`network`,title:k(),options:g}],onRefresh:r,searchPlaceholder:d(),table:h}),(0,$.jsx)(Le,{className:`min-w-[900px]`,emptyText:ge(),loading:t,table:h}),(0,$.jsx)(Fe,{className:`mt-auto`,table:h})]})}function gt(){let{chains:t}=Je(),n=j.useQuery(`get`,`/admin/api/v1/wallets`),r=j.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),i=j.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),a=j.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),[g,_]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(!t.length){u&&d(``);return}t.some(e=>e.network&&e.network===u)||d(t[0]?.network??``)},[t,u]);async function y(){await Ce.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function b(){if(!g?.row.id)return;let e=Number(g.row.id);g.action===`delete`?(await r.mutateAsync({params:{path:{id:e}}}),W.success(be())):(g.action===`enable`||g.action===`disable`)&&(await i.mutateAsync({params:{path:{id:e}},body:{status:g.action===`enable`?1:2}}),W.success(te())),await y(),_(null)}async function x(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(te()),await y();return}_({action:e,row:t})}async function S(){if(!u){W.error(se());return}let e=f.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){W.error(ce());return}let t=((await a.mutateAsync({body:{addresses:e,network:u}})).data??[]).filter(e=>e.ok).length;W.success(fe({success:String(t),total:String(e.length)})),l(!1),p(``),await y()}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)(P,{onClick:()=>l(!0),variant:`outline`,children:[(0,$.jsx)(Ve,{className:`mr-2 h-4 w-4`}),he()]}),(0,$.jsxs)(P,{onClick:()=>{h(null),s(!0)},children:[(0,$.jsx)(Ye,{className:`mr-2 h-4 w-4`}),oe()]})]}),description:ie(),title:ye()}),(0,$.jsx)(ht,{data:n.data?.data??[],isLoading:n.isLoading,onAction:x,onRefresh:()=>n.refetch()})]}),(0,$.jsx)(ft,{currentRow:m,onOpenChange:s,onSuccess:()=>n.refetch(),open:o}),g&&(0,$.jsx)(Te,{confirmText:g.action===`delete`?O():re(),desc:(0,$.jsx)(`span`,{children:ve({address:String(g.row.address),action:g.action})}),destructive:g.action===`delete`,handleConfirm:b,onOpenChange:()=>_(null),open:!0,title:g.action===`delete`?me():ne()}),(0,$.jsx)($e,{onOpenChange:l,open:c,children:(0,$.jsxs)(nt,{children:[(0,$.jsxs)(tt,{children:[(0,$.jsx)(et,{children:le()}),(0,$.jsx)(Ze,{children:_e()})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(L,{children:pe()}),(0,$.jsxs)(H,{onValueChange:d,value:u,children:[(0,$.jsx)(z,{children:(0,$.jsx)(R,{placeholder:ae()})}),(0,$.jsx)(B,{children:t.some(e=>e.network)?t.filter(e=>!!e.network).map(t=>(0,$.jsx)(V,{value:t.network,children:t.display_name??t.network??e()},t.network)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:se()})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(L,{children:v()}),(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)(P,{onClick:()=>l(!1),variant:`outline`,children:ee()}),(0,$.jsx)(P,{disabled:a.isPending||!t.some(e=>e.network),onClick:S,children:a.isPending?w():E()})]})]})})]})}var _t=gt;export{_t as component}; |