1import{h as i,c as R,a7 as de,a9 as me,ad as fe,ca as ae,cb as te,q as ie,h6 as be,r as f,j as n,L as D,H as M,dr as N,fC as B,er as J,M as Q,aD as pe,e as xe,ap as he,as as F,gW as ge,gX as ve}from"./main-Bel9aniX.js";import{D as je}from"./dashboard-header-BFCfmOTO.js";import{U as V}from"./user-avatar-C3Sy8uX1.js";import{B as S}from"./badge-D-C3OZrx.js";import{C as ke}from"./calendar-4mjd9F3x.js";import{D as Ne,a as ye,b as Se,c as Ce,d as we,e as Ue,f as Be}from"./drawer-IR-96NJp.js";import{S as Me}from"./separator-C_5BKZqa.js";import{T as Ae}from"./textarea-CoHsqF3b.js";import{a as De}from"./admin-middleware--r5-B4w4.js";import{I as Fe}from"./IconCalendar-CDQTR46F.js";import{b as k,D as Ee,a as O}from"./data-table-faceted-filter-C0FBn0L9.js";import{D as Ie}from"./data-table-pagination-D8c0eEfZ.js";import{I as Re}from"./input-C6RExfcx.js";import{T as Te,a as ze,b as I,c as He,d as qe,e as y}from"./table-B8TGi1mG.js";import{u as Pe,g as Ke,a as Je,f as L}from"./index-ChQY2ZnR.js";import{S as U}from"./skeleton-CATTQG4R.js";import{a as Qe}from"./admin_title-D6a5zzT_.js";import{a as Ve}from"./admin_users_title-CLNbRbZi.js";import"./locale-switcher-Db4vHSOr.js";import"./useControlled-BP4BbzZL.js";import"./IconArrowLeft-x2_8TPyE.js";import"./avatar-BbjTSLSW.js";import"./IconChevronLeft-Cq3IiC84.js";import"./index-DT-8JlwJ.js";import"./IconSettings2-CHiOOqe0.js";import"./IconChevronUp-Mk4QAhyU.js";import"./IconEyeOff-DSVhdxiG.js";import"./IconCircleX-q-Rk5A1R.js";import"./select-C6eePUFI.js";import"./useRegisterFieldControl-CWgkVu3Y.js";import"./FormContext-CxhEPZDS.js";import"./CSPContext-B3hHYJ61.js";const Oe=()=>"Active",Le=()=>"Active",Xe=()=>"Active",$e=()=>"Active",Ge=()=>"Active",We=()=>"Active",H=((r={},s={})=>{const e=s.locale??i();return e==="en"?Oe():e==="ko"?Le():e==="es"?Xe():e==="fr"?$e():e==="de"?Ge():We()}),Ye=()=>"Admin",Ze=()=>"Admin",en=()=>"Admin",nn=()=>"Admin",rn=()=>"Admin",sn=()=>"Admin",q=((r={},s={})=>{const e=s.locale??i();return e==="en"?Ye():e==="ko"?Ze():e==="es"?en():e==="fr"?nn():e==="de"?rn():sn()}),an=()=>"Ban user",tn=()=>"Ban user",on=()=>"Ban user",un=()=>"Ban user",cn=()=>"Ban user",ln=()=>"Ban user",_n=((r={},s={})=>{const e=s.locale??i();return e==="en"?an():e==="ko"?tn():e==="es"?on():e==="fr"?un():e==="de"?cn():ln()}),dn=()=>"Spamming",mn=()=>"Spamming",fn=()=>"Spamming",bn=()=>"Spamming",pn=()=>"Spamming",xn=()=>"Spamming",X=((r={},s={})=>{const e=s.locale??i();return e==="en"?dn():e==="ko"?mn():e==="es"?fn():e==="fr"?bn():e==="de"?pn():xn()}),hn=()=>"Failed to ban user.",gn=()=>"Failed to ban user.",vn=()=>"Failed to ban user.",jn=()=>"Failed to ban user.",kn=()=>"Failed to ban user.",Nn=()=>"Failed to ban user.",$=((r={},s={})=>{const e=s.locale??i();return e==="en"?hn():e==="ko"?gn():e==="es"?vn():e==="fr"?jn():e==="de"?kn():Nn()}),yn=()=>"Ban expires",Sn=()=>"Ban expires",Cn=()=>"Ban expires",wn=()=>"Ban expires",Un=()=>"Ban expires",Bn=()=>"Ban expires",G=((r={},s={})=>{const e=s.locale??i();return e==="en"?yn():e==="ko"?Sn():e==="es"?Cn():e==="fr"?wn():e==="de"?Un():Bn()}),Mn=()=>"Never",An=()=>"Never",Dn=()=>"Never",Fn=()=>"Never",En=()=>"Never",In=()=>"Never",Rn=((r={},s={})=>{const e=s.locale??i();return e==="en"?Mn():e==="ko"?An():e==="es"?Dn():e==="fr"?Fn():e==="de"?En():In()}),Tn=()=>"Ban reason",zn=()=>"Ban reason",Hn=()=>"Ban reason",qn=()=>"Ban reason",Pn=()=>"Ban reason",Kn=()=>"Ban reason",W=((r={},s={})=>{const e=s.locale??i();return e==="en"?Tn():e==="ko"?zn():e==="es"?Hn():e==="fr"?qn():e==="de"?Pn():Kn()}),Jn=()=>"Enter reason for banning this userâ¦",Qn=()=>"Enter reason for banning this userâ¦",Vn=()=>"Enter reason for banning this userâ¦",On=()=>"Enter reason for banning this userâ¦",Ln=()=>"Enter reason for banning this userâ¦",Xn=()=>"Enter reason for banning this userâ¦",$n=((r={},s={})=>{const e=s.locale??i();return e==="en"?Jn():e==="ko"?Qn():e==="es"?Vn():e==="fr"?On():e==="de"?Ln():Xn()}),Gn=()=>"Select date (optional)",Wn=()=>"Select date (optional)",Yn=()=>"Select date (optional)",Zn=()=>"Select date (optional)",er=()=>"Select date (optional)",nr=()=>"Select date (optional)",rr=((r={},s={})=>{const e=s.locale??i();return e==="en"?Gn():e==="ko"?Wn():e==="es"?Yn():e==="fr"?Zn():e==="de"?er():nr()}),sr=()=>"User has been banned.",ar=()=>"User has been banned.",tr=()=>"User has been banned.",ir=()=>"User has been banned.",or=()=>"User has been banned.",ur=()=>"User has been banned.",cr=((r={},s={})=>{const e=s.locale??i();return e==="en"?sr():e==="ko"?ar():e==="es"?tr():e==="fr"?ir():e==="de"?or():ur()}),lr=()=>"Banned",_r=()=>"Banned",dr=()=>"Banned",mr=()=>"Banned",fr=()=>"Banned",br=()=>"Banned",pr=((r={},s={})=>{const e=s.locale??i();return e==="en"?lr():e==="ko"?_r():e==="es"?dr():e==="fr"?mr():e==="de"?fr():br()}),xr=()=>"Clear search",hr=()=>"Clear search",gr=()=>"Borrar busqueda",vr=()=>"Clear search",jr=()=>"Clear search",kr=()=>"Clear search",Nr=((r={},s={})=>{const e=s.locale??i();return e==="en"?xr():e==="ko"?hr():e==="es"?gr():e==="fr"?vr():e==="de"?jr():kr()}),yr=()=>"Close",Sr=()=>"Close",Cr=()=>"Cerrar",wr=()=>"Close",Ur=()=>"Close",Br=()=>"Close",Mr=((r={},s={})=>{const e=s.locale??i();
1return e==="en"?yr():e==="ko"?Sr():e==="es"?Cr():e==="fr"?wr():e==="de"?Ur():Br()}),Ar=()=>"Ban expires",Dr=()=>"Ban expires",Fr=()=>"Ban expires",Er=()=>"Ban expires",Ir=()=>"Ban expires",Rr=()=>"Ban expires",Y=((r={},s={})=>{const e=s.locale??i();return e==="en"?Ar():e==="ko"?Dr():e==="es"?Fr():e==="fr"?Er():e==="de"?Ir():Rr()}),Tr=()=>"Ban reason",zr=()=>"Ban reason",Hr=()=>"Ban reason",qr=()=>"Ban reason",Pr=()=>"Ban reason",Kr=()=>"Ban reason",Z=((r={},s={})=>{const e=s.locale??i();return e==="en"?Tr():e==="ko"?zr():e==="es"?Hr():e==="fr"?qr():e==="de"?Pr():Kr()}),Jr=()=>"Created at",Qr=()=>"Created at",Vr=()=>"Created at",Or=()=>"Created at",Lr=()=>"Created at",Xr=()=>"Created at",ee=((r={},s={})=>{const e=s.locale??i();return e==="en"?Jr():e==="ko"?Qr():e==="es"?Vr():e==="fr"?Or():e==="de"?Lr():Xr()}),$r=()=>"Email",Gr=()=>"Email",Wr=()=>"Email",Yr=()=>"Email",Zr=()=>"Email",es=()=>"Email",P=((r={},s={})=>{const e=s.locale??i();return e==="en"?$r():e==="ko"?Gr():e==="es"?Wr():e==="fr"?Yr():e==="de"?Zr():es()}),ns=()=>"Name",rs=()=>"Name",ss=()=>"Nombre",as=()=>"Name",ts=()=>"Name",is=()=>"Name",ne=((r={},s={})=>{const e=s.locale??i();return e==="en"?ns():e==="ko"?rs():e==="es"?ss():e==="fr"?as():e==="de"?ts():is()}),os=()=>"Role",us=()=>"Role",cs=()=>"Role",ls=()=>"Role",_s=()=>"Role",ds=()=>"Role",T=((r={},s={})=>{const e=s.locale??i();return e==="en"?os():e==="ko"?us():e==="es"?cs():e==="fr"?ls():e==="de"?_s():ds()}),ms=()=>"Status",fs=()=>"Status",bs=()=>"Status",ps=()=>"Status",xs=()=>"Status",hs=()=>"Status",z=((r={},s={})=>{const e=s.locale??i();return e==="en"?ms():e==="ko"?fs():e==="es"?bs():e==="fr"?ps():e==="de"?xs():hs()}),gs=()=>"Email copied to clipboard",vs=()=>"Email copied to clipboard",js=()=>"Email copied to clipboard",ks=()=>"Email copied to clipboard",Ns=()=>"Email copied to clipboard",ys=()=>"Email copied to clipboard",oe=((r={},s={})=>{const e=s.locale??i();return e==="en"?gs():e==="ko"?vs():e==="es"?js():e==="fr"?ks():e==="de"?Ns():ys()}),Ss=()=>"Inactive",Cs=()=>"Inactive",ws=()=>"Inactive",Us=()=>"Inactive",Bs=()=>"Inactive",Ms=()=>"Inactive",re=((r={},s={})=>{const e=s.locale??i();return e==="en"?Ss():e==="ko"?Cs():e==="es"?ws():e==="fr"?Us():e==="de"?Bs():Ms()}),As=()=>"Joined",Ds=()=>"Joined",Fs=()=>"Joined",Es=()=>"Joined",Is=()=>"Joined",Rs=()=>"Joined",Ts=((r={},s={})=>{const e=s.locale??i();return e==="en"?As():e==="ko"?Ds():e==="es"?Fs():e==="fr"?Es():e==="de"?Is():Rs()}),zs=()=>"No users found",Hs=()=>"No users found",qs=()=>"No users found",Ps=()=>"No users found",Ks=()=>"No users found",Js=()=>"No users found",Qs=((r={},s={})=>{const e=s.locale??i();return e==="en"?zs():e==="ko"?Hs():e==="es"?qs():e==="fr"?Ps():e==="de"?Ks():Js()}),Vs=()=>"Search by name or emailâ¦",Os=()=>"Search by name or emailâ¦",Ls=()=>"Search by name or emailâ¦",Xs=()=>"Search by name or emailâ¦",$s=()=>"Search by name or emailâ¦",Gs=()=>"Search by name or emailâ¦",Ws=((r={},s={})=>{const e=s.locale??i();return e==="en"?Vs():e==="ko"?Os():e==="es"?Ls():e==="fr"?Xs():e==="de"?$s():Gs()}),Ys=()=>"Unban user",Zs=()=>"Unban user",ea=()=>"Unban user",na=()=>"Unban user",ra=()=>"Unban user",sa=()=>"Unban user",aa=((r={},s={})=>{const e=s.locale??i();return e==="en"?Ys():e==="ko"?Zs():e==="es"?ea():e==="fr"?na():e==="de"?ra():sa()}),ta=()=>"Failed to unban user.",ia=()=>"Failed to unban user.",oa=()=>"Failed to unban user.",ua=()=>"Failed to unban user.",ca=()=>"Failed to unban user.",la=()=>"Failed to unban user.",_a=((r={},s={})=>{const e=s.locale??i();return e==="en"?ta():e==="ko"?ia():e==="es"?oa():e==="fr"?ua():e==="de"?ca():la()}),da=()=>"User has been unbanned.",ma=()=>"User has been unbanned.",fa=()=>"User has been unbanned.",ba=()=>"User has been unbanned.",pa=()=>"User has been unbanned.",xa=()=>"User has been unbanned.",ha=((r={},s={})=>{const e=s.locale??i();return e==="en"?da():e==="ko"?ma():e==="es"?fa():e==="fr"?ba():e==="de"?pa():xa()}),ga=()=>"Updated",va=()=>"Updated",ja=()=>"Updated",ka=()=>"Updated",Na=()=>"Updated",ya=()=>"Updated",Sa=((r={},s={})=>{const e=s.locale??i();return e==="en"?ga():e==="ko"?va():e==="es"?ja():e==="fr"?ka():e==="de"?Na():ya()}),Ca=()=>"User",wa=()=>"User",Ua=()=>"User",Ba=()=>"User",Ma=()=>"User",Aa=()=>"User",K=((r={},s={})=>{const e=s.locale??i();return e==="en"?Ca():e==="ko"?wa():e==="es"?Ua():e==="fr"?Ba():e==="de"?Ma():Aa()});const Da=[["path",{d:"M11 19h-6a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v6",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}],["path",{d:"M15 19l2 2l4 -4",key:"svg-2"}]],ue=R("outline","mail-check","MailCheck",Da);const Fa=[["path",{d:"M15 19h-10a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4.5",key:"svg-0"}],["path",{d:"M19 22v.01",key:"svg-1"}],["path",{d:"M19 19a2.003 2.003 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483",key:"svg-2"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-3"}]],ce=R("outline","mail-question","MailQuestion",Fa);const Ea=[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}
1],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4",key:"svg-1"}],["path",{d:"M15 19l2 2l4 -4",key:"svg-2"}]],le=R("outline","user-check","UserCheck",Ea);const Ia=[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h3.5",key:"svg-1"}],["path",{d:"M22 22l-5 -5",key:"svg-2"}],["path",{d:"M17 22l5 -5",key:"svg-3"}]],_e=R("outline","user-x","UserX",Ia),Ra=de({method:"GET"}).middleware([De]).handler(me("ed89abdc818bb1d05e2b23ee524a09351e4df060b84cd8ea507b633b3ecdf5e7")),A={all:["users"],lists:()=>[...A.all,"lists"],list:r=>[...A.lists(),r]};function Ta(r,s,e,c,d){return fe({queryKey:A.list({pageIndex:r,pageSize:s,search:e,sorting:c,filters:d}),queryFn:async()=>{const b=c[0],l=b?.id??"createdAt",g=b?.desc??!0,v=d.find(x=>x.id==="role"),_=d.find(x=>x.id==="status"),p=_?.value==="active"||_?.value==="inactive"?_.value:void 0;return Ra({data:{pageIndex:r,pageSize:s,search:e,sortId:l,sortDesc:g,role:v?.value,status:p}})}})}function za(){const r=ae();return te({mutationFn:async s=>ie.admin.banUser({userId:s.userId,banReason:s.banReason,banExpiresIn:s.banExpiresIn}),onSuccess:()=>{r.invalidateQueries({queryKey:A.all})}})}function Ha(){const r=ae();return te({mutationFn:async s=>ie.admin.unbanUser({userId:s.userId}),onSuccess:()=>{r.invalidateQueries({queryKey:A.all})}})}function qa({user:r}){const s=be(),[e,c]=f.useState(),[d,b]=f.useState(X()),[l,g]=f.useState(),[v,_]=f.useState(!1),p=za(),x=Ha(),h=u=>u?new Date(u):null,C=async()=>{if(!d?.trim()){c($());return}if(!r.id){c("User ID is required");return}c(void 0);try{await p.mutateAsync({userId:r.id,banReason:d.trim(),banExpiresIn:l?Math.floor((l.getTime()-Date.now())/1e3):void 0}),N.success(cr()),b(X()),g(void 0)}catch(u){const o=u instanceof Error?u.message:$();c(o),N.error(o)}},w=async()=>{if(!r.id){c("User ID is required");return}c(void 0);try{await x.mutateAsync({userId:r.id}),N.success(ha())}catch(u){const o=u instanceof Error?u.message:_a();c(o),N.error(o)}};return n.jsxs(Ne,{direction:s?"bottom":"right",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(V,{name:r.name??null,image:r.image??null,className:"size-8 shrink-0 border"}),n.jsx(ye,{asChild:!0,children:n.jsx(D,{variant:"link",className:"w-fit px-0 text-left text-foreground",children:n.jsx("span",{className:"font-medium hover:underline hover:underline-offset-4",children:r.name})})})]}),n.jsxs(Se,{children:[n.jsx(Ce,{className:"gap-1",children:n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx(V,{name:r.name??null,image:r.image??null,className:"size-12 border"}),n.jsx(we,{children:r.name})]})}),n.jsxs("div",{className:"flex flex-col gap-4 overflow-y-auto px-4 text-sm",children:[n.jsxs("div",{className:"grid gap-4",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsx(S,{variant:"outline",className:M("px-1.5 border-transparent",r.role==="admin"?"bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-400":"bg-secondary text-secondary-foreground"),children:r.role==="admin"?q():K()}),n.jsx(S,{variant:"outline",className:M("px-1.5 border-transparent",r.banned?"bg-red-100 text-red-700 dark:bg-red-500/20 dark:text-red-400":"bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400"),children:r.banned?n.jsxs(n.Fragment,{children:[n.jsx(_e,{}),pr()]}):n.jsxs(n.Fragment,{children:[n.jsx(le,{}),H()]})})]}),r.email&&n.jsxs("div",{className:"grid gap-3",children:[n.jsxs("span",{className:"text-xs text-muted-foreground",children:[P(),":"]}),n.jsxs(S,{variant:"outline",className:"w-fit px-1.5 py-2 text-sm border-transparent hover:cursor-pointer hover:underline hover:underline-offset-4",onClick:async()=>{try{await navigator.clipboard.writeText(r.email),N.success(oe())}catch{}},children:[r.emailVerified?n.jsx(ue,{className:"stroke-green-500 dark:stroke-green-400"}):n.jsx(ce,{className:"stroke-red-500 dark:stroke-red-400"}),r.email]})]})]}),n.jsxs("div",{className:"grid gap-3",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("span",{className:"text-muted-foreground",children:[Ts(),":"]}),n.jsx("span",{children:h(r.createdAt)?B(h(r.createdAt)):"-"})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("span",{className:"text-muted-foreground",children:[Sa(),":"]}),n.jsx("span",{children:h(r.updatedAt)?B(h(r.updatedAt)):"-"})]})]}),n.jsx(Me,{}),e&&n.jsx("div",{className:"text-sm text-destructive",children:e}),r.banned?n.jsxs("div",{className:"grid gap-4",children:[r.banReason&&n.jsxs("div",{children:[W(),": ",r.banReason]}),n.jsxs("div",{children:[G(),":"," ",r.banExpires&&h(r.banExpires)?B(h(r.banExpires)):Rn()]})]}):n.jsxs("div",{className:"grid gap-4",children:[n.jsxs("div",{className:"grid gap-2",children:[n.jsx(J,{htmlFor:"ban-reason",children:W()}),n.jsx(Ae,{id:"ban-reason",value:d,onChange:u=>b(u.target.value),placeholder:$n(),required:!0})]}),n.jsxs("div",{className:"grid w-fit max-w-full gap-2",children:[n.jsx(J,{children:G()}
1),n.jsxs("div",{className:"w-fit rounded-lg border border-input bg-background",children:[n.jsxs("button",{type:"button",onClick:()=>_(u=>!u),className:M("flex h-9 w-full items-center justify-start gap-1.5 px-2.5 text-sm font-normal outline-none hover:bg-muted hover:text-foreground rounded-lg",!l&&"text-muted-foreground"),children:[n.jsx(Fe,{className:"size-4 shrink-0"}),l?B(l):n.jsx("span",{children:rr()})]}),v&&n.jsx("div",{className:"w-auto border-t border-input p-2",children:n.jsx(ke,{mode:"single",selected:l,onSelect:u=>{g(u),_(!1)}})})]})]})]})]}),n.jsxs(Ue,{className:"flex flex-col gap-2",children:[r.banned?n.jsxs(D,{variant:"destructive",onClick:w,disabled:x.isPending,children:[x.isPending&&n.jsx(Q,{className:"mr-2 size-4 animate-spin"}),aa()]}):n.jsxs(D,{variant:"destructive",onClick:C,disabled:p.isPending||!d?.trim(),children:[p.isPending&&n.jsx(Q,{className:"mr-2 size-4 animate-spin"}),_n()]}),n.jsx(Be,{asChild:!0,children:n.jsx(D,{variant:"outline",children:Mr()})})]})]})]})}function Pa({columns:r}){return n.jsx(I,{className:"h-14",children:Array.from({length:r}).map((s,e)=>e===0?n.jsx(y,{className:"py-3",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(U,{className:"size-8 rounded-full shrink-0"}),n.jsx(U,{className:"h-4 w-20"})]})},e):e===1?n.jsx(y,{className:"py-3",children:n.jsx(U,{className:"h-6 w-32"})},e):e===2||e===4?n.jsx(y,{className:"py-3",children:n.jsx(U,{className:"h-6 w-16"})},e):n.jsx(y,{className:"py-3",children:n.jsx(U,{className:"h-4 w-24"})},e))})}function Ka({data:r,total:s,pageIndex:e,pageSize:c,search:d,sorting:b,filters:l=[],loading:g,onSearch:v,onPageChange:_,onPageSizeChange:p,onSortingChange:x,onFiltersChange:h}){const[C,w]=f.useState({}),u=f.useMemo(()=>[{id:"name",accessorKey:"name",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:ne()}),cell:({row:a})=>n.jsx(qa,{user:a.original}),meta:{label:ne()},minSize:120,size:160},{id:"email",accessorKey:"email",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:P()}),cell:({row:a})=>{const t=a.original;return n.jsx("div",{className:"flex items-center gap-2",children:n.jsxs(S,{variant:"outline",className:"text-sm border-transparent px-1.5 py-2 hover:cursor-pointer hover:underline hover:underline-offset-4",onClick:async()=>{try{await navigator.clipboard.writeText(t.email),N.success(oe())}catch{}},children:[t.emailVerified?n.jsx(ue,{className:"stroke-green-500 dark:stroke-green-400"}):n.jsx(ce,{className:"stroke-red-500 dark:stroke-red-400"}),t.email]})})},meta:{label:P()},minSize:180,size:220},{id:"role",accessorKey:"role",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:T()}),cell:({row:a})=>{const t=a.original.role??"user";return n.jsx(S,{variant:"outline",className:M("px-1.5 border-transparent",t==="admin"?"bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-400":"bg-secondary text-secondary-foreground"),children:t==="admin"?q():K()})},meta:{label:T()},minSize:100,size:120},{id:"createdAt",accessorKey:"createdAt",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:ee()}),cell:({row:a})=>pe(new Date(a.original.createdAt)),meta:{label:ee()},minSize:140,size:160},{id:"status",accessorFn:a=>a.banned?"inactive":"active",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:z()}),cell:({row:a})=>{const t=a.original.banned;return n.jsx(S,{variant:"outline",className:M("px-1.5 border-transparent",t?"bg-red-100 text-red-700 dark:bg-red-500/20 dark:text-red-400":"bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400"),children:t?n.jsxs(n.Fragment,{children:[n.jsx(_e,{}),re()]}):n.jsxs(n.Fragment,{children:[n.jsx(le,{}),H()]})})},meta:{label:z()},minSize:100,size:120},{id:"banReason",accessorKey:"banReason",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:Z()}),cell:({row:a})=>n.jsx("span",{className:"text-muted-foreground",children:a.original.banReason??"-"}),meta:{label:Z()},minSize:120,size:140},{id:"banExpires",accessorKey:"banExpires",enableHiding:!0,enableSorting:!1,header:({column:a})=>n.jsx(k,{column:a,label:Y()}),cell:({row:a})=>{const t=a.original.banExpires;return n.jsx("span",{className:"text-muted-foreground",children:t?B(new Date(t)):"-"})},meta:{label:Y()},minSize:140,size:160}],[]),o=f.useMemo(()=>[{label:q(),value:"admin"},{label:K(),value:"user"}],[]),j=f.useMemo(()=>[{label:H(),value:"active"},{label:re(),value:"inactive"}],[]),m=Pe({data:r,columns:u,pageCount:Math.ceil(s/c)||1,state:{sorting:b,columnFilters:l,columnVisibility:C,pagination:{pageIndex:e,pageSize:c}},onSortingChange:a=>{const t=typeof a=="function"?a(b):a;x(t)},onColumnFiltersChange:a=>{const t=typeof a=="function"?a(l):a;h?.(t),_(0)},onColumnVisibilityChange:w,onPaginationChange:a=>{const t=typeof a=="function"?a({pageIndex:e,pageSize:c}):a;t.pageSize!==c?(p(t.pageSize),e!==0&&_(0)):t.pageIndex!==e&&_(t.pageIndex)},getCoreRowModel:Je(),getPaginationRowModel:Ke(),manualPagination:!0,manualSorting:!0,manualFiltering:!0,enableMultiSort:!1});return n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx(Ee,{table:m,children:n.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[n.jsxs("div",{className:"relative",children:[n.jsx(Re,{placeholder:Ws(),value:d,onChange:a=>{v(a.target.value),_(0)},className:"h-8 w-[260px] pr-8"}),d.length>0?n.jsx("button",{type:"button","aria-label":Nr(),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground transition-colors hover:text-foreground",onClick:()=>{v(""),_(0)},children:n.jsx(xe,{className:"size-3.5"})}):null]}),n.jsx(O,{column:m.getColumn("role"),title:T(),options:o}),n.jsx(O,{column:m.getColumn("status"),title:z(),options:j})]})}),n.jsxs("div",{className:"relative flex flex-col gap-4 overflow-auto",children:[n.jsx("div",{className:"overflow-hidden rounded-lg border",children:n.jsxs(Te,{children:[n.jsx(ze,{className:"bg-muted sticky top-0 z-10",children:m.getHeaderGroups().map(a=>n.jsx(I,{children:a.headers.map(t=>n.jsx(He,{children:t.isPlaceholder?null:L(t.column.columnDef.header,t.getContext())},t.id))},a.id))}),n.jsx(qe,{children:g?Array.from({length:c}).map((a,t)=>n.jsx(Pa,{columns:u.length},t)):m.getRowModel().rows?.length?m.getRowModel().rows.map(a=>n.jsx(I,{"data-state":a.getIsSelected()&&"selected",className:"h-14",children:a.getVisibleCells().map(t=>n.jsx(y,{className:"py-3",children:L(t.column.columnDef.cell,t.getContext())},t.id))},a.id)):n.jsx(I,{children:n.jsx(y,{colSpan:u.length,className:"h-24 text-center",children:Qs()})})})]})}),n.jsx(Ie,{table:m,className:"px-0"})]})]})}const se=["name","email","createdAt"],E=[{id:"createdAt",desc:!0}];function Ja(){const[,r]=f.useTransition(),[s,e]=he({page:ve.withDefault(0),size:ge.withDefault(10),search:F.withDefault(""),sort:F.withDefault(""),role:F.withDefault(""),status:F.withDefault("")},{startTransition:r,history:"replace"}),{page:c,size:d,search:b,sort:l,role:g,status:v}=s,_=f.useMemo(()=>
1{if(!l)return E;try{const j=JSON.parse(l).filter(m=>se.includes(m.id));return j.length>0?j:E}catch{return E}},[l]),p=f.useMemo(()=>[g&&{id:"role",value:g},v&&{id:"status",value:v}].filter(Boolean),[g,v]),x=f.useMemo(()=>p.map(o=>({id:o.id,value:[o.value]})),[p]),{data:h,isLoading:C}=Ta(c,d,b,_,p),w=o=>{const j=m=>{const a=o.find(t=>t.id===m);return Array.isArray(a?.value)?a.value[0]:a?.value??""};e({role:j("role"),status:j("status"),page:0})},u=o=>{const j=o.filter(a=>se.includes(a.id)),m=j.length>0?j:E;e({sort:JSON.stringify(m),page:0})};return n.jsx(Ka,{data:h?.items??[],total:h?.total??0,pageIndex:c,pageSize:d,search:b,sorting:_,filters:x,loading:C,onSearch:o=>e({search:o,page:0}),onPageChange:o=>e({page:o}),onPageSizeChange:o=>e({size:o,page:0}),onSortingChange:u,onFiltersChange:w})}function kt(){const r=[{label:Qe(),isCurrentPage:!1},{label:Ve(),isCurrentPage:!0}];return n.jsxs(n.Fragment,{children:[n.jsx(je,{breadcrumbs:r}),n.jsx("div",{className:"flex flex-1 flex-col",children:n.jsx("div",{className:"@container/main flex flex-1 flex-col gap-2",children:n.jsx("div",{className:"flex flex-col gap-4 py-4 lg:gap-6 lg:py-6",children:n.jsx("div",{className:"px-4 lg:px-6",children:n.jsx(Ja,{})})})})})]})}export{kt as component}; 2//# sourceMappingURL=users-BIbWbs-i.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.