mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 18:26:16 +00:00
09514a6946
- skip SPA fallback for `/install` and `/install/*` in main server - keep install wizard accessible only during `RunInstallServer` phase - prevent post-install access to install UI
3 lines
11 KiB
JavaScript
3 lines
11 KiB
JavaScript
import{$i as e,Ai as t,Bi as n,Ci as r,Di as i,Ei as a,Eu as o,Fi as s,Gi as c,Hi as l,Ii as u,Ji as d,Ki as f,Li as p,Mi as m,Ni as h,Oi as g,Pi as _,Qi as v,Ri as ee,Si as y,Ti as b,Tu as te,Ui as ne,Vi as re,Wi as ie,Xi as x,Yi as ae,Zi as oe,_i as S,aa as se,bi as C,di as w,ea as ce,fi as T,gi as le,hi as ue,ia as de,ji as E,ki as D,ku as fe,mi as pe,na as me,pi as he,qi as ge,ra as O,ta as _e,ui as ve,vi as ye,wi as be,xi as xe,yi as Se,zi as k}from"./messages-xqHXgrWc.js";import{a as A}from"./auth-store-Cp1Qr8YS.js";import{r as Ce,t as we}from"./router-Dt_YKRJH.js";import{r as Te}from"./route-CfqHSlRV.js";import{o as j}from"./search-provider-udckA1q-.js";import{i as M,t as N}from"./button-BQECWbag.js";import{t as Ee}from"./confirm-dialog-MtS_UKjk.js";import{a as P,c as F,l as De,r as Oe,s as ke,t as Ae}from"./dropdown-menu-DmhEvuLR.js";import{t as I}from"./label-DDujs4B1.js";import{a as L,i as R,n as z,o as je,r as B,s as Me,t as V}from"./select-DSOa7HEs.js";import{t as Ne}from"./switch-law4AeE6.js";import{_ as Pe,d as H,f as Fe,g as Ie,h as Le,n as Re,p as ze,r as Be,t as Ve,v as He,y as Ue}from"./data-table-D5m8DUdN.js";import{t as We}from"./download-BXeyt20y.js";import{t as Ge}from"./ellipsis-BixAGG28.js";import{t as Ke}from"./eye-off-WDCGq32q.js";import{t as qe}from"./eye-BoVQkrIw.js";import{n as Je,t as Ye}from"./chains-store-Dx6ADbK1.js";import{n as Xe,t as Ze}from"./trash-2-3YNzlMg8.js";import{d as Qe,f as $e,l as et,m as tt,p as nt,u as rt}from"./command-Kxl1kgbj.js";import{n as U}from"./dist-CD4kjzmO.js";import{c as W,s as it}from"./zod-BnhDiB7H.js";import{a as G,c as at,i as K,l as ot,n as q,o as J,s as Y,t as st}from"./form-DK0bnk5h.js";import{t as X}from"./input-DBrSAqhD.js";import{t as ct}from"./page-header-C0GHzPxS.js";import{t as lt}from"./textarea-DA1hu9Pd.js";import{t as ut}from"./use-table-url-state-kv7Gw4N-.js";import{t as dt}from"./long-text-CZEhxC4M.js";var Z=fe(o(),1),Q=te(),ft=it({address:W().min(8,w()),network:W().min(1,ve()),remark:W().max(50).optional()});function pt({open:e,onOpenChange:t,currentRow:n,onSuccess:i}){let{chains:a,loading:o}=Ye(),s=ot({resolver:at(ft),defaultValues:{address:``,network:``,remark:``}}),c=A.useMutation(`post`,`/admin/api/v1/wallets`),u=A.useMutation(`patch`,`/admin/api/v1/wallets/{id}`),d=(0,Z.useMemo)(()=>a.map(e=>e.network).filter(e=>!!e),[a]);(0,Z.useEffect)(()=>{e&&s.reset({address:n?.address??``,network:n?.network??``,remark:n?.remark??``})},[e,n,s]);function f(e){if(n?.id){u.mutate({params:{path:{id:n.id}},body:{remark:e.remark||void 0}},{onSuccess:()=>{U.success(he()),t(!1),i?.()}});return}c.mutate({body:{address:e.address,network:e.network,remark:e.remark??``}},{onSuccess:()=>{U.success(T()),t(!1),i?.()}})}let p=c.isPending||u.isPending,m=d.length>0,h=o?r():y(),[_,v]=(0,Z.useState)(!1);return(0,Q.jsx)(et,{onOpenChange:t,open:e,children:(0,Q.jsxs)(rt,{children:[(0,Q.jsxs)(nt,{children:[(0,Q.jsx)(tt,{children:n?xe():C()}),(0,Q.jsx)(Qe,{children:n?Se():ye()})]}),(0,Q.jsx)(st,{...s,children:(0,Q.jsxs)(`form`,{className:`space-y-4`,onSubmit:s.handleSubmit(f),children:[(0,Q.jsx)(K,{control:s.control,name:`network`,render:({field:e})=>(0,Q.jsxs)(G,{children:[(0,Q.jsx)(J,{children:l()}),(0,Q.jsxs)(V,{disabled:!!n||!m,onValueChange:e.onChange,value:e.value,children:[(0,Q.jsx)(q,{children:(0,Q.jsx)(R,{className:`w-full`,children:(0,Q.jsx)(L,{placeholder:m?re():h})})}),(0,Q.jsx)(z,{children:m?d.map(e=>(0,Q.jsx)(B,{value:e,children:e},e)):(0,Q.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:h})})]}),(0,Q.jsx)(Y,{})]})}),(0,Q.jsx)(K,{control:s.control,name:`address`,render:({field:e})=>(0,Q.jsxs)(G,{children:[(0,Q.jsx)(J,{children:k()}),(0,Q.jsx)(q,{children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(X,{...e,className:`pr-10`,disabled:!!n,placeholder:S(),type:_?`text`:`password`}),(0,Q.jsx)(`button`,{className:`absolute inset-y-0 right-3 flex items-center text-muted-foreground hover:text-foreground`,onClick:()=>v(e=>!e),type:`button`,children:_?(0,Q.jsx)(Ke,{className:`h-4 w-4`}):(0,Q.jsx)(qe,{className:`h-4 w-4`})})]})}),(0,Q.jsx)(Y,{})]})}),(0,Q.jsx)(K,{control:s.control,name:`remark`,render:({field:e})=>(0,Q.jsxs)(G,{children:[(0,Q.jsx)(J,{children:g()}),(0,Q.jsx)(q,{children:(0,Q.jsx)(X,{...e,placeholder:le()})}),(0,Q.jsx)(Y,{})]})}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(N,{onClick:()=>t(!1),type:`button`,variant:`outline`,children:ee()}),(0,Q.jsx)(N,{disabled:p,type:`submit`,children:p?ue():pe()})]})]})})]})})}function mt(e){return[{id:`status-switch`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:m()}),cell:({row:t})=>(0,Q.jsx)(Ne,{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:M(`rounded-tl-[inherit]`)}}},{accessorKey:`address`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:E()}),cell:({row:e})=>(0,Q.jsx)(dt,{className:`font-medium`,children:e.original.address}),enableHiding:!1,meta:{label:E(),skeleton:`long`}},{accessorKey:`network`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:l()}),meta:{label:l(),skeleton:`short`}},{accessorKey:`order_count`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:t()}),meta:{label:t(),skeleton:`id`}},{accessorKey:`source`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:D()}),cell:({row:e})=>e.original.source??`-`,meta:{label:D(),skeleton:`short`}},{accessorKey:`remark`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:g()}),meta:{label:g(),skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:i()}),cell:({row:e})=>j(e.original.created_at),meta:{label:i(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,Q.jsx)(H,{column:e,title:a()}),cell:({row:e})=>j(e.original.updated_at),meta:{label:a(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:b(),skeleton:`action`,sticky:`right`,className:M(`w-12`)},cell:({row:t})=>(0,Q.jsxs)(Ae,{modal:!1,children:[(0,Q.jsx)(De,{asChild:!0,children:(0,Q.jsxs)(N,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,Q.jsx)(Ge,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,Q.jsxs)(Oe,{align:`end`,className:`w-40`,children:[(0,Q.jsxs)(P,{onClick:()=>e(`edit`,t.original),children:[be(),(0,Q.jsx)(F,{children:(0,Q.jsx)(Je,{size:16})})]}),(0,Q.jsx)(ke,{}),(0,Q.jsxs)(P,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[x(),(0,Q.jsx)(F,{children:(0,Q.jsx)(Ze,{size:16})})]})]})]})}]}var $=Te(`/_authenticated/addresses/`);function ht({data:e,isLoading:t,onAction:n,onRefresh:r}){let[i,a]=(0,Z.useState)([]),{globalFilter:o,onGlobalFilterChange:c,columnFilters:u,onColumnFiltersChange:d,pagination:f,onPaginationChange:p,ensurePageInRange:m}=ut({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`}]}),g=Fe({data:e,columns:(0,Z.useMemo)(()=>mt(n),[n]),state:{sorting:i,columnFilters:u,globalFilter:o,pagination:f},onSortingChange:a,onColumnFiltersChange:d,onGlobalFilterChange:c,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:ze(),getFilteredRowModel:Pe(),getPaginationRowModel:He(),getSortedRowModel:Ue(),getFacetedRowModel:Le(),getFacetedUniqueValues:Ie()});(0,Z.useEffect)(()=>{m(g.getPageCount())},[g,m]);let v=[...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)(Ve,{filters:[{columnId:`status`,title:h(),options:[...Ce]},{columnId:`network`,title:l(),options:v}],onRefresh:r,searchPlaceholder:s(),table:g}),(0,Q.jsx)(Be,{className:`min-w-[900px]`,emptyText:_(),loading:t,table:g}),(0,Q.jsx)(Re,{className:`mt-auto`,table:g})]})}function gt(){let{chains:t}=Ye(),r=A.useQuery(`get`,`/admin/api/v1/wallets`),i=A.useMutation(`delete`,`/admin/api/v1/wallets/{id}`),a=A.useMutation(`post`,`/admin/api/v1/wallets/{id}/status`),o=A.useMutation(`post`,`/admin/api/v1/wallets/batch-import`),[s,l]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(``),[te,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!t.length){g&&_(``);return}t.some(e=>e.network&&e.network===g)||_(t[0]?.network??``)},[t,g]);async function T(){await we.invalidateQueries({queryKey:[`get`,`/admin/api/v1/wallets`]})}async function le(){if(!C?.row.id)return;let e=Number(C.row.id);C.action===`delete`?(await i.mutateAsync({params:{path:{id:e}}}),U.success(se())):(C.action===`enable`||C.action===`disable`)&&(await a.mutateAsync({params:{path:{id:e}},body:{status:C.action===`enable`?1:2}}),U.success(de())),await T(),w(null)}async function ue(e,t){if(e===`edit`){S(t),l(!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}}),U.success(de()),await T();return}w({action:e,row:t})}async function E(){if(!g){U.error(O());return}let e=y.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(!e.length){U.error(me());return}let t=((await o.mutateAsync({body:{addresses:e,network:g}})).data??[]).filter(e=>e.ok).length;U.success(_e({success:String(t),total:String(e.length)})),h(!1),b(``),await T()}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Me,{fixed:!0}),(0,Q.jsxs)(je,{className:`flex flex-1 flex-col gap-4 sm:gap-6`,children:[(0,Q.jsx)(ct,{actions:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(N,{onClick:()=>h(!0),variant:`outline`,children:[(0,Q.jsx)(We,{className:`mr-2 h-4 w-4`}),ce()]}),(0,Q.jsxs)(N,{onClick:()=>{S(null),l(!0)},children:[(0,Q.jsx)(Xe,{className:`mr-2 h-4 w-4`}),e()]})]}),description:v(),title:oe()}),(0,Q.jsx)(ht,{data:r.data?.data??[],isLoading:r.isLoading,onAction:ue,onRefresh:()=>r.refetch()})]}),(0,Q.jsx)(pt,{currentRow:te,onOpenChange:l,onSuccess:()=>r.refetch(),open:s}),C&&(0,Q.jsx)(Ee,{confirmText:C.action===`delete`?x():ae(),desc:(0,Q.jsx)(`span`,{children:d({address:String(C.row.address),action:C.action})}),destructive:C.action===`delete`,handleConfirm:le,onOpenChange:()=>w(null),open:!0,title:C.action===`delete`?ge():f()}),(0,Q.jsx)(et,{onOpenChange:h,open:m,children:(0,Q.jsxs)(rt,{children:[(0,Q.jsxs)(nt,{children:[(0,Q.jsx)(tt,{children:c()}),(0,Q.jsx)(Qe,{children:ie()})]}),(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(I,{children:ne()}),(0,Q.jsxs)(V,{onValueChange:_,value:g,children:[(0,Q.jsx)(R,{children:(0,Q.jsx)(L,{placeholder:re()})}),(0,Q.jsx)(z,{children:t.some(e=>e.network)?t.filter(e=>!!e.network).map(e=>(0,Q.jsx)(B,{value:e.network,children:e.display_name??e.network??n()},e.network)):(0,Q.jsx)(`div`,{className:`px-2 py-1.5 text-muted-foreground text-sm`,children:O()})})]})]}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(I,{children:k()}),(0,Q.jsx)(lt,{className:`min-h-40`,onChange:e=>b(e.target.value),placeholder:`TAddr001
|
|
TAddr002
|
|
TAddr003`,value:y})]})]}),(0,Q.jsxs)($e,{children:[(0,Q.jsx)(N,{onClick:()=>h(!1),variant:`outline`,children:ee()}),(0,Q.jsx)(N,{disabled:o.isPending||!t.some(e=>e.network),onClick:E,children:o.isPending?p():u()})]})]})})]})}var _t=gt;export{_t as component}; |