Files
epusdt/src/www/assets/rpc-CaUCyQ5S.js
T
line-6000 485059f60e - Removed manifest link from index.html.
- Updated script and module preload links in index.html for optimized loading.
- Modified service worker (sw.js) to reflect new asset revisions and improve caching strategy.
- Updated configuration documentation in BT_RUN.md, docker-RUN.md, and manual_RUN.md to clarify currency rate settings.
2026-04-24 19:10:11 +08:00

1 line
17 KiB
JavaScript

import{$u as e,Ai as t,Ar as n,Br as r,Cr as i,Dr as a,Er as o,Fr as s,Hi as c,Hr as l,Ir as u,Ji as d,Lr as f,Mr as p,Nr as m,Or as h,Pr as ee,Qu as g,Rr as te,Sr as _,Tr as v,Ui as y,Ur as b,Vi as x,Vr as S,Wr as C,_r as ne,ar as re,ba as ie,br as w,cr as ae,dr as oe,fr as T,gr as se,hr as ce,ir as le,ji as ue,jr as de,kr as E,lr as fe,mr as pe,nd as me,oi as he,or as ge,pr as _e,qu as ve,ra as ye,rr as be,sr as xe,ur as Se,vr as Ce,wr as D,xr as we,yr as Te,zr as Ee}from"./messages-GNZRoNCJ.js";import{a as O}from"./auth-store-D6M2fL5v.js";import{t as De}from"./router-WGjVYfDE.js";import{r as Oe}from"./route-B0n9n_C5.js";import{I as ke,o as k,r as Ae}from"./search-provider-LWHzuxPK.js";import{i as A,t as j}from"./button-CgehfZOz.js";import{t as je}from"./checkbox-DatOgaAb.js";import{a as M,c as N,l as Me,r as Ne,s as Pe,t as Fe}from"./dropdown-menu-CTXk1Zrr.js";import{t as P}from"./skeleton-CShhbKn7.js";import{a as Ie,i as Le,n as Re,r as F,t as I}from"./select-DMPupgk1.js";import{t as L}from"./separator-DCobJKYf.js";import{t as ze}from"./switch-DM03P9u-.js";import{t as Be}from"./createLucideIcon-ZOoxJGca.js";import{_ as Ve,d as R,f as He,g as Ue,h as We,n as Ge,p as Ke,r as qe,t as Je,v as Ye,y as Xe}from"./data-table-DjSK-4cq.js";import{t as Ze}from"./arrow-left-Dn5hhZ5t.js";import{t as Qe}from"./ellipsis-wLloMtop.js";import{t as $e}from"./empty-state-BVYJD65g.js";import{n as et,t as tt}from"./main-B1PefPeT.js";import{n as nt,t as z}from"./chains-store-DIJ-nqSa.js";import{n as rt,t as it}from"./trash-2-C_l9AUPj.js";import{d as B,g as at,l as V,m as ot,p as st,u as ct}from"./command-BVulVd11.js";import{n as H}from"./dist-5drZch9N.js";import{a as lt,c as U,n as ut,r as dt,s as ft}from"./zod-Ds1e9pAB.js";import{a as W,c as pt,i as G,l as mt,n as K,o as q,s as J,t as ht}from"./form-CltVYR9l.js";import{t as Y}from"./input-DVA35bJk.js";import{t as gt}from"./page-header-cy8MPm4c.js";import{t as X}from"./badge-BPwdyK59.js";import{t as _t}from"./use-table-url-state-ClTsU9gu.js";import{t as Z}from"./long-text-BSGoIsPf.js";import{t as vt}from"./coming-soon-dialog-CDL92hfj.js";var yt=Be(`stethoscope`,[[`path`,{d:`M11 2v2`,key:`1539x4`}],[`path`,{d:`M5 2v2`,key:`1yf1q8`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`,key:`rb5t3r`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`,key:`x18d4x`}],[`circle`,{cx:`20`,cy:`10`,r:`2`,key:`ts1r5v`}]]),Q=me(e(),1),$=g(),bt=ft({network:U().min(1,re()),type:dt([`http`,`ws`]),url:U().url(le()),api_key:U().default(``),weight:ut().min(1,be()),enabled:lt().default(!0)});function xt({open:e,onOpenChange:n,currentRow:r,onSuccess:a}){let{chains:o}=z(),s=mt({resolver:pt(bt),defaultValues:{network:``,type:`http`,url:``,api_key:``,weight:1,enabled:!0}}),c=O.useMutation(`post`,`/admin/api/v1/rpc-nodes`),l=O.useMutation(`patch`,`/admin/api/v1/rpc-nodes/{id}`);(0,Q.useEffect)(()=>{e&&s.reset({network:r?.network??``,type:r?.type??`http`,url:r?.url??``,api_key:r?.api_key??``,weight:r?.weight??1,enabled:r?.enabled??!0})},[e,r,s]);function u(e){if(r?.id){l.mutate({params:{path:{id:r.id}},body:{url:e.url,api_key:e.api_key,weight:e.weight,enabled:e.enabled}},{onSuccess:()=>{H.success(xe()),n(!1),a?.()}});return}c.mutate({body:{network:e.network,type:e.type,url:e.url,api_key:e.api_key,weight:e.weight,enabled:e.enabled}},{onSuccess:()=>{H.success(ge()),n(!1),a?.()}})}let d=c.isPending||l.isPending;return(0,$.jsx)(V,{onOpenChange:n,open:e,children:(0,$.jsxs)(ct,{children:[(0,$.jsxs)(st,{children:[(0,$.jsx)(ot,{children:r?ce():pe()}),(0,$.jsx)(B,{children:r?_e():T()})]}),(0,$.jsx)(ht,{...s,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:s.handleSubmit(u),children:[(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsx)(G,{control:s.control,name:`network`,render:({field:e})=>(0,$.jsxs)(W,{children:[(0,$.jsx)(q,{children:v()}),(0,$.jsxs)(I,{disabled:!!r,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(K,{children:(0,$.jsx)(Le,{className:`w-full`,children:(0,$.jsx)(Ie,{placeholder:ye()})})}),(0,$.jsx)(Re,{children:o.filter(e=>!!e.network).map(e=>(0,$.jsx)(F,{value:e.network??``,children:e.display_name??e.network},e.network))})]}),(0,$.jsx)(J,{})]})}),(0,$.jsx)(G,{control:s.control,name:`type`,render:({field:e})=>(0,$.jsxs)(W,{children:[(0,$.jsx)(q,{children:D()}),(0,$.jsxs)(I,{disabled:!!r,onValueChange:e.onChange,value:e.value,children:[(0,$.jsx)(K,{children:(0,$.jsx)(Le,{className:`w-full`,children:(0,$.jsx)(Ie,{placeholder:oe()})})}),(0,$.jsxs)(Re,{children:[(0,$.jsx)(F,{value:`http`,children:`HTTP`}),(0,$.jsx)(F,{value:`ws`,children:`WebSocket`})]})]}),(0,$.jsx)(J,{})]})})]}),(0,$.jsx)(G,{control:s.control,name:`url`,render:({field:e})=>(0,$.jsxs)(W,{children:[(0,$.jsx)(q,{children:i()}),(0,$.jsx)(K,{children:(0,$.jsx)(Y,{placeholder:`https://api.trongrid.io`,...e})}),(0,$.jsx)(J,{})]})}),(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsx)(G,{control:s.control,name:`api_key`,render:({field:e})=>(0,$.jsxs)(W,{children:[(0,$.jsx)(q,{children:`API Key`}),(0,$.jsx)(K,{children:(0,$.jsx)(Y,{placeholder:Se(),...e})}),(0,$.jsx)(J,{})]})}),(0,$.jsx)(G,{control:s.control,name:`weight`,render:({field:e})=>(0,$.jsxs)(W,{children:[(0,$.jsx)(q,{children:_()}),(0,$.jsx)(K,{children:(0,$.jsx)(Y,{name:e.name,onBlur:e.onBlur,onChange:t=>e.onChange(t.target.value),ref:e.ref,type:`number`,value:String(e.value??``)})}),(0,$.jsx)(J,{})]})})]}),(0,$.jsx)(G,{control:s.control,name:`enabled`,render:({field:e})=>(0,$.jsxs)(W,{className:`flex flex-row items-center gap-3 rounded-lg border p-3`,children:[(0,$.jsx)(K,{children:(0,$.jsx)(je,{checked:e.value,onCheckedChange:t=>e.onChange(!!t)})}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(q,{children:fe()}),(0,$.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:ae()})]})]})}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(j,{onClick:()=>n(!1),type:`button`,variant:`outline`,children:ve()}),(0,$.jsx)(j,{disabled:d,type:`submit`,children:d?ue():t()})]})]})})]})})}function St(e){return[{id:`switch`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:d()}),cell:({row:t})=>(0,$.jsx)(ze,{checked:!!t.original.enabled,onCheckedChange:()=>e(t.original.enabled?`disable`:`enable`,t.original)}),enableSorting:!1,enableHiding:!1,meta:{label:d(),skeleton:`switch`,sticky:`left`,th:{className:A(`rounded-tl-[inherit]`)}}},{accessorKey:`status`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:E()}),cell:({row:e})=>{let t=e.original.status??`unknown`,n=`bg-slate-500/10 text-slate-600`,r=o();return t===`ok`?(n=`bg-emerald-500/10 text-emerald-600`,r=h()):t===`down`&&(n=`bg-rose-500/10 text-rose-600`,r=a()),(0,$.jsx)(X,{className:n,children:r})},filterFn:(e,t,n)=>n.includes(String(e.getValue(t))),meta:{label:E(),skeleton:`badge`}},{accessorKey:`network`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:v()}),cell:({row:e})=>(0,$.jsx)(`div`,{className:`min-w-24 font-medium`,children:e.original.network??`-`}),enableHiding:!1,meta:{label:v(),skeleton:`short`}},{accessorKey:`type`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:D()}),filterFn:(e,t,n)=>n.includes(String(e.getValue(t))),meta:{label:D(),skeleton:`short`}},{accessorKey:`url`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:i()}),cell:({row:e})=>(0,$.jsx)(Z,{className:`min-w-80`,children:e.original.url??`-`}),meta:{label:i(),skeleton:`long`}},{accessorKey:`weight`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:_()}),cell:({row:e})=>e.original.weight??`-`,meta:{label:_(),skeleton:`id`}},{accessorKey:`last_latency_ms`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:we()}),cell:({row:e})=>e.original.last_latency_ms?`${e.original.last_latency_ms} ms`:`-`,meta:{label:we(),skeleton:`id`}},{accessorKey:`last_checked_at`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:w()}),cell:({row:e})=>k(e.original.last_checked_at),meta:{label:w(),skeleton:`date`}},{accessorKey:`api_key`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:`API Key`}),cell:({row:e})=>(0,$.jsx)(Z,{children:e.original.api_key??`-`}),meta:{label:`API Key`,skeleton:`long`}},{accessorKey:`created_at`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:y()}),cell:({row:e})=>k(e.original.created_at),meta:{label:y(),skeleton:`date`}},{accessorKey:`updated_at`,header:({column:e})=>(0,$.jsx)(R,{column:e,title:c()}),cell:({row:e})=>k(e.original.updated_at),meta:{label:c(),skeleton:`date`}},{id:`actions`,enableHiding:!1,meta:{label:x(),skeleton:`action`,sticky:`right`,className:A(`w-12`)},cell:({row:t})=>(0,$.jsxs)(Fe,{modal:!1,children:[(0,$.jsx)(Me,{asChild:!0,children:(0,$.jsxs)(j,{className:`flex h-8 w-8 p-0 data-[state=open]:bg-muted`,variant:`ghost`,children:[(0,$.jsx)(Qe,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Open menu`})]})}),(0,$.jsxs)(Ne,{align:`end`,className:`w-40`,children:[(0,$.jsxs)(M,{onClick:()=>e(`edit`,t.original),children:[se(),(0,$.jsx)(N,{children:(0,$.jsx)(nt,{size:16})})]}),(0,$.jsxs)(M,{onClick:()=>e(`health-check`,t.original),children:[Te(),(0,$.jsx)(N,{children:(0,$.jsx)(yt,{size:16})})]}),(0,$.jsx)(Pe,{}),(0,$.jsxs)(M,{onClick:()=>e(`delete`,t.original),variant:`destructive`,children:[he(),(0,$.jsx)(N,{children:(0,$.jsx)(it,{size:16})})]})]})]})}]}var Ct=Oe(`/_authenticated/rpc/`),wt=[{label:h(),value:`ok`},{label:a(),value:`down`},{label:o(),value:`unknown`}];function Tt({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}=_t({search:Ct.useSearch(),navigate:Ct.useNavigate(),pagination:{defaultPage:1,defaultPageSize:10},globalFilter:{enabled:!0,key:`keyword`},columnFilters:[{columnId:`type`,searchKey:`type`,type:`array`},{columnId:`status`,searchKey:`status`,type:`array`}]}),p=He({data:e,columns:(0,Q.useMemo)(()=>St(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.network??``).toLowerCase().includes(r)||(e.original.url??``).toLowerCase().includes(r)},getCoreRowModel:Ke(),getFilteredRowModel:Ve(),getPaginationRowModel:Ye(),getSortedRowModel:Xe(),getFacetedRowModel:We(),getFacetedUniqueValues:Ue()});(0,Q.useEffect)(()=>{f(p.getPageCount())},[p,f]);let m=[...new Set(e.map(e=>e.type).filter(Boolean))].map(e=>({label:e,value:e}));return(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4`,children:[(0,$.jsx)(Je,{filters:[{columnId:`type`,title:D(),options:m},{columnId:`status`,title:E(),options:[...wt]}],onRefresh:r,searchPlaceholder:Ce(),table:p}),(0,$.jsx)(qe,{className:`min-w-[1200px]`,emptyText:ne(),loading:t,table:p}),(0,$.jsx)(Ge,{className:`mt-auto`,table:p})]})}var Et=[`chain-1`,`chain-2`,`chain-3`,`chain-4`,`chain-5`];function Dt({active:e,children:t,onClick:n}){return(0,$.jsx)(`div`,{className:A(`w-full cursor-pointer rounded-lg px-3 py-3 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,e&&`bg-muted`),onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},role:`button`,tabIndex:0,children:t})}function Ot({chains:e,isLoading:t,keyword:n,onKeywordChange:i,selectedPanel:a,onSelect:o,totalNodes:s,hiddenOnMobile:c}){return(0,$.jsxs)(`div`,{className:A(`flex w-full flex-col gap-2 sm:w-56 lg:w-72 2xl:w-80`,c&&`hidden sm:flex`),children:[(0,$.jsxs)(`div`,{className:`sticky top-0 z-10 -mx-4 bg-background px-4 pb-3 shadow-md sm:static sm:z-auto sm:mx-0 sm:p-0 sm:shadow-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`h1`,{className:`font-bold text-2xl`,children:C()}),(0,$.jsx)(ke,{size:20})]}),(0,$.jsx)(X,{variant:`secondary`,children:b({count:String(e.length)})})]}),(0,$.jsxs)(`div`,{className:`relative block`,children:[(0,$.jsx)(at,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(Y,{className:`pl-9`,onChange:e=>i(e.target.value),placeholder:l(),value:n})]})]}),(0,$.jsxs)(Ae,{className:`-mx-3 h-full overflow-auto p-3`,children:[(0,$.jsx)(Dt,{active:a===`overview`,onClick:()=>o(`overview`),children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`font-medium`,children:S()}),(0,$.jsx)(`div`,{className:`mt-1 text-muted-foreground text-xs`,children:r({chains:String(e.length),nodes:String(s)})})]}),(0,$.jsx)(ke,{className:`mt-0.5 size-4 text-muted-foreground`})]})}),(0,$.jsx)(L,{className:`my-1`}),t?Et.map(e=>(0,$.jsxs)(`div`,{className:`px-3 py-3`,children:[(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2`,children:(0,$.jsx)(P,{className:`h-4 w-24`})}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,$.jsx)(P,{className:`h-3 w-20`}),(0,$.jsx)(P,{className:`h-5 w-12 rounded-full`})]})]},e)):e.map((t,n)=>{let r=t.network??t.display_name??String(n);return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Dt,{active:a===t.network,onClick:()=>o(t.network??`overview`),children:(0,$.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate font-medium`,children:t.display_name??Ee()}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:te({count:String(t.nodeCount??0)})}),(0,$.jsx)(X,{className:`shrink-0 text-xs`,variant:`outline`,children:t.network??`-`})]})]})})}),n<e.length-1?(0,$.jsx)(L,{className:`my-1`}):null]},r)}),!t&&e.length===0?(0,$.jsx)($e,{description:f()}):null]})]})}function kt({nodes:e,isLoading:t,onBack:n,onCreate:r,onAction:i,onRefresh:a}){return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(j,{className:`sm:hidden`,onClick:n,size:`icon`,variant:`ghost`,children:(0,$.jsx)(Ze,{className:`rtl:rotate-180`})}),(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(gt,{actions:(0,$.jsxs)(j,{onClick:r,children:[(0,$.jsx)(rt,{className:`mr-2 h-4 w-4`}),u()]}),description:s(),title:C()})})]}),(0,$.jsx)(Tt,{data:e,isLoading:t,onAction:i,onRefresh:a})]})}function At(){let{chains:e,loading:t}=z(),r=O.useQuery(`get`,`/admin/api/v1/rpc-nodes`),i=O.useMutation(`patch`,`/admin/api/v1/rpc-nodes/{id}`),a=O.useMutation(`post`,`/admin/api/v1/rpc-nodes/{id}/health-check`),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(null),[f,h]=(0,Q.useState)(null),[g,te]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(`overview`),[y,b]=(0,Q.useState)(null),x=r.data?.data??[],S=(0,Q.useMemo)(()=>x.reduce((e,t)=>(t.network&&(e[t.network]=(e[t.network]??0)+1),e),{}),[x]),C=(0,Q.useMemo)(()=>e.map(e=>({...e,nodeCount:e.network?S[e.network]??0:0})),[e,S]),ne=(0,Q.useMemo)(()=>{let e=g.trim().toLowerCase();return e?C.filter(t=>[t.display_name,t.network].filter(Boolean).some(t=>String(t).toLowerCase().includes(e))):C},[C,g]),re=(0,Q.useMemo)(()=>_===`overview`?x:x.filter(e=>e.network===_),[x,_]);(0,Q.useEffect)(()=>{_!==`overview`&&!e.some(e=>e.network===_)&&(v(`overview`),b(null))},[e,_]);async function w(){await De.invalidateQueries({queryKey:[`get`,`/admin/api/v1/rpc-nodes`]})}async function ae(){if(f?.row.id){if(f.action===`enable`||f.action===`disable`)await i.mutateAsync({params:{path:{id:f.row.id}},body:{enabled:f.action===`enable`}}),H.success(ie());else if(f.action===`health-check`){let e=await a.mutateAsync({params:{path:{id:f.row.id}}}),t=e.data?.status??`unknown`,n=e.data?.last_latency_ms;H.success(ee({status:t,latency:n?m({latency:String(n)}):``}))}await w(),h(null)}}async function oe(e,t){if(e===`edit`){d(t),s(!0);return}if(e===`enable`||e===`disable`){if(!t.id)return;await i.mutateAsync({params:{path:{id:t.id}},body:{enabled:e===`enable`}}),H.success(ie()),await w();return}if(e===`delete`){l(!0);return}h({action:e,row:t})}let T=y!==null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(et,{fixed:!0}),(0,$.jsx)(tt,{fixed:!0,children:(0,$.jsxs)(`section`,{className:`flex h-full gap-6`,children:[(0,$.jsx)(Ot,{chains:ne,hiddenOnMobile:T,isLoading:t,keyword:g,onKeywordChange:te,onSelect:e=>{v(e),b(e)},selectedPanel:_,totalNodes:x.length}),(0,$.jsx)(`div`,{className:A(`absolute inset-0 start-full z-50 hidden w-full flex-1 flex-col border bg-background shadow-xs sm:static sm:z-auto sm:flex sm:min-w-0 sm:rounded-md sm:border-0 sm:bg-transparent sm:shadow-none`,T&&`inset-s-0 flex`),children:(0,$.jsx)(kt,{isLoading:r.isLoading,nodes:re,onAction:oe,onBack:()=>b(null),onCreate:()=>l(!0),onRefresh:()=>{r.refetch()}})})]})}),(0,$.jsx)(xt,{currentRow:u,onOpenChange:s,onSuccess:()=>r.refetch(),open:o}),(0,$.jsx)(vt,{onOpenChange:l,open:c}),(0,$.jsx)(V,{onOpenChange:e=>{e||h(null)},open:!!f,children:(0,$.jsxs)(ct,{children:[(0,$.jsxs)(st,{children:[(0,$.jsx)(ot,{children:n()}),(0,$.jsx)(B,{children:f?de({url:String(f.row.url??``),action:f.action}):null})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(j,{onClick:()=>h(null),variant:`outline`,children:ve()}),(0,$.jsx)(j,{onClick:ae,children:p()})]})]})})]})}var jt=At;export{jt as component};