Files
epusdt/src/www/assets/addresses-C45LrBpP.js
T

3 lines
11 KiB
JavaScript

import{$a as e,Ba as t,Co as n,Eo 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,af as T,ao as ee,bo as E,cf as D,co as te,do as ne,eo as re,fo as ie,go as ae,ho as oe,if as se,io as ce,ja as le,lo as O,mo as ue,no as de,oo as k,po as fe,qa as A,ro as pe,so as me,to as he,uo as ge,vo as _e,wo as j,xo as ve,yo as ye,za as be}from"./messages-BSgosaSa.js";import{a as M}from"./auth-store-BFY9rMhZ.js";import{r as xe,t as Se}from"./router-C7gU2zBq.js";import{r as Ce}from"./route-C9oeyFaP.js";import{o as N}from"./search-provider-Dt_F-pkS.js";import{i as P,t as F}from"./button-gsP5wmrs.js";import{t as we}from"./confirm-dialog-QFIvwt2-.js";import{a as I,c as L,l as Te,r as Ee,s as De,t as Oe}from"./dropdown-menu-DLlHTZjq.js";import{t as R}from"./label-D5RRG2Qc.js";import{a as z,i as B,n as V,r as H,t as ke}from"./select-L52xnO1_.js";import{t as Ae}from"./switch-CH4fUEH_.js";import{_ as je,d as U,f as Me,g as Ne,h as Pe,m as Fe,n as Ie,p as Le,r as Re,t as ze,v as Be}from"./data-table-CGYy0mJd.js";import{t as Ve}from"./download-Blr7sdJ_.js";import{t as He}from"./ellipsis-D7s9S1hC.js";import{t as Ue}from"./eye-off-BYSJ_YEd.js";import{t as We}from"./eye-B3_CJAUp.js";import{n as Ge,t as Ke}from"./main-DDzsFV09.js";import{n as qe,t as Je}from"./chains-store-FGuIaVBm.js";import{n as Ye,t as Xe}from"./trash-2-CnLLV8t6.js";import{d as Ze,f as Qe,l as $e,m as et,p as tt,u as nt}from"./command-BOJV7P-9.js";import{n as W}from"./dist-CFhr9Gp2.js";import{c as G,s as rt}from"./zod-Cmg_v3kW.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-s9C7GZ5q.js";import{t as Z}from"./input-C0_2W2RZ.js";import{t as st}from"./page-header-lpyPiG0-.js";import{t as ct}from"./textarea-DO_4tynT.js";import{t as lt}from"./use-table-url-state-BG55k9ho.js";import{t as ut}from"./long-text-DeHyBchn.js";var Q=D(T(),1),$=se(),dt=rt({address:G().min(8,d()),network:G().min(1,le()),remark:G().max(50).optional()});function ft({open:e,onOpenChange:n,currentRow:r,onSuccess:a}){let{chains:c,loading:l}=Je(),d=at({resolver:it(dt),defaultValues:{address:``,network:``,remark:``}}),m=M.useMutation(`post`,`/admin/api/v1/wallets`),g=M.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),_=(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){g.mutate({params:{path:{id:r.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{W.success(p()),n(!1),a?.()}});return}m.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{W.success(f()),n(!1),a?.()}})}let C=m.isPending||g.isPending,w=_.length>0,T=l?b():v(),[E,D]=(0,Q.useState)(!1);return(0,$.jsx)($e,{onOpenChange:n,open:e,children:(0,$.jsxs)(nt,{children:[(0,$.jsxs)(tt,{children:[(0,$.jsx)(et,{children:r?o():y()}),(0,$.jsx)(Ze,{children:r?t():be()})]}),(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:O()}),(0,$.jsxs)(ke,{disabled:!!r||!w,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(J,{children:(0,$.jsx)(B,{className:`w-full`,children:(0,$.jsx)(z,{placeholder:w?te():T})})}),(0,$.jsx)(V,{children:w?_.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:T})})]}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:d.control,name:`address`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:k()}),(0,$.jsx)(J,{children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{...e,className:`pr-10`,disabled:!!r,placeholder:h(),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:u()})}),(0,$.jsx)(X,{})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(F,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:ee()}),(0,$.jsx)(F,{disabled:C,type:`submit`,children:C?s():i()})]})]})})]})})}function pt(t){return[{id:`status-switch`,header:({column:t})=>(0,$.jsx)(U,{column:t,title:e()}),cell:({row:e})=>(0,$.jsx)(Ae,{checked:e.original.status===1,onCheckedChange:()=>t(e.original.status===1?`disable`:`enable`,e.original)}),enableSorting:!1,enableHiding:!1,meta:{label:e(),skeleton:`switch`,sticky:`left`,th:{className:P(`rounded-tl-[inherit]`)}}},{accessorKey:`address`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:m()}),cell:({row:e})=>(0,$.jsx)(ut,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:m(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:O()}),meta:{label:O(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:C()}),meta:{label:C(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:x()}),cell:({row:e})=>e.original.source??`-`,meta:{label:x(),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:c()}),cell:({row:e})=>N(e.original.created_at),meta:{label:c(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(U,{column:e,title:A()}),cell:({row:e})=>N(e.original.updated_at),meta:{label:A(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:l(),skeleton:`action`,sticky:`right`,className:P(`w-12`)},cell:({row:e})=>(0,$.jsxs)(Oe,{modal:!1,children:[(0,$.jsx)(Te,{asChild:!0,children:(0,$.jsxs)(F,{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)(Ee,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(I,{onClick:()=>t(`edit`,e.original),children:[a(),(0,$.jsx)(L,{children:(0,$.jsx)(qe,{size:16})})]}),(0,$.jsx)(De,{}),(0,$.jsxs)(I,{onClick:()=>t(`delete`,e.original),variant:`destructive`,children:[w(),(0,$.jsx)(L,{children:(0,$.jsx)(Xe,{size:16})})]})]})]})}]}var mt=Ce(`/_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=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: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:Ne(),getPaginationRowModel:je(),getSortedRowModel:Be(),getFacetedRowModel:Fe(),getFacetedUniqueValues:Pe()});(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)(ze,{filters:[{columnId:`status`,title:re(),options:[...xe]},{columnId:`network`,title:O(),options:m}],onRefresh:r,searchPlaceholder:de(),table:p}),(0,$.jsx)(Re,{className:`min-w-[900px]`,emptyText:he(),loading:t,table:p}),(0,$.jsx)(Ie,{className:`mt-auto`,table:p})]})}function gt(){let{chains:e}=Je(),t=M.useQuery(`get`,`/admin/api/v1/wallets`),i=M.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),a=M.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),o=M.useMutation(`post`,`/admin/api/v1/wallets/batch-import`),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),[h,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(!e.length){d&&f(``);return}e.some(e=>e.network&&e.network===d)||f(e[0]?.network??``)},[e,d]);async function x(){await Se.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function S(){if(!y?.row.id)return;let e=Number(y.row.id);y.action===`delete`?(await i.mutateAsync({params:{path:{id:e}}}),W.success(r())):(y.action===`enable`||y.action===`disable`)&&(await a.mutateAsync({params:{path:{id:e}},body:{status:y.action===`enable`?1:2}}),W.success(_())),await x(),b(null)}async function C(e,t){if(e===`edit`){v(t),c(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await a.mutateAsync({params:{path:{id:Number(t.id)}},body:{status:e===`enable`?1:2}}),W.success(_()),await x();return}b({action:e,row:t})}async function T(){if(!d){W.error(j());return}let e=p.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){W.error(n());return}let t=((await o.mutateAsync({body:{addresses:e,network:d}})).data??[]).filter(e=>e.ok).length;W.success(g({success:String(t),total:String(e.length)})),u(!1),m(``),await x()}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)(F,{onClick:()=>u(!0),variant:`outline`,children:[(0,$.jsx)(Ve,{className:`mr-2 h-4 w-4`}),ve()]}),(0,$.jsxs)(F,{onClick:()=>{v(null),c(!0)},children:[(0,$.jsx)(Ye,{className:`mr-2 h-4 w-4`}),E()]})]}),description:ye(),title:_e()}),(0,$.jsx)(ht,{data:t.data?.data??[],isLoading:t.isLoading,onAction:C,onRefresh:()=>t.refetch()})]}),(0,$.jsx)(ft,{currentRow:h,onOpenChange:c,onSuccess:()=>t.refetch(),open:s}),y&&(0,$.jsx)(we,{confirmText:y.action===`delete`?w():ae(),desc:(0,$.jsx)(`span`,{children:oe({address:String(y.row.address),action:y.action})}),destructive:y.action===`delete`,handleConfirm:S,onOpenChange:()=>b(null),open:!0,title:y.action===`delete`?ue():fe()}),(0,$.jsx)($e,{onOpenChange:u,open:l,children:(0,$.jsxs)(nt,{children:[(0,$.jsxs)(tt,{children:[(0,$.jsx)(et,{children:ie()}),(0,$.jsx)(Ze,{children:ne()})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(R,{children:ge()}),(0,$.jsxs)(ke,{onValueChange:f,value:d,children:[(0,$.jsx)(B,{children:(0,$.jsx)(z,{placeholder:te()})}),(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??me()},e.network)):(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:j()})})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(R,{children:k()}),(0,$.jsx)(ct,{className:`min-h-40`,onChange:e=>m(e.target.value),placeholder:`TAddr001
TAddr002
TAddr003`,value:p})]})]}),(0,$.jsxs)(Qe,{children:[(0,$.jsx)(F,{onClick:()=>u(!1),variant:`outline`,children:ee()}),(0,$.jsx)(F,{disabled:o.isPending||!e.some(e=>e.network),onClick:T,children:o.isPending?ce():pe()})]})]})})]})}var _t=gt;export{_t as component};