1import{r as d,j as e,e as t}from"./client-DK23cq_3.js";import{A as N}from"./AdminLayout-35Bw5Qkg.js";import{D as S,C as w,f as C,E as _,P as E,e as P}from"./es-dslgkspW.js";import{S as D}from"./UserAvatar-BkJcne4w.js";import{c as m}from"./createLucideIcon-BVtqttnm.js";import{T as z}from"./trash-2-DrriwbGQ.js";import"./Logo-CQwnFNah.js";import"./NavLink-CSg8BUEF.js";import"./transition-DOGCyuTD.js";import"./bundle-mjs-BNe0Xlio.js";import"./Button-BOmxrpUS.js";import"./moon-DfXxAOog.js";import"./x-EOOrA9lr.js";import"./chevron-down-DJ1tj-ty.js";import"./users-DV7KmBcz.js";import"./mail-BIAli4W5.js";import"./layout-dashboard-GMdSMtFT.js";import"./globe-vZOIMl9k.js";import"./search-CTAGX_1b.js";import"./chevron-right-CNNjBOor.js";import"./ConfirmDialog-D7HQljPt.js";import"./Dialog-ClTkWAPa.js";import"./circle-check-big-CVMQkxWX.js";import"./triangle-alert-un3xBD5M.js";const U=[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],O=m("user-check",U);const A=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]],M=m("user-x",A);function le({auth:u,users:s,filters:a}){const[n,o]=d.useState({isOpen:!1,user:null}),[x,i]=d.useState(!1),[c,l]=d.useState(null),p=r=>{t.get(route("admin.users"),{search:r,page:1},{preserveState:!0,preserveScroll:!0})},g=r=>{t.get(route("admin.users"),{...a,page:r},{preserveState:!0,preserveScroll:!0})},h=r=>{t.get(route("admin.users"),{...a,per_page:r,page:1},{preserveState:!0,preserveScroll:!0})},b=(r,v)=>{t.get(route("admin.users"),{...a,sort:r,direction:v},{preserveState:!0,preserveScroll:!0})},f=async()=>{n.user&&(i(!0),t.delete(route("admin.users.destroy",n.user.id),{onSuccess:()=>{o({isOpen:!1,user:null}),i(!1)},onError:()=>{i(!1)}}))},k=r=>{switch(r){case"root":return"bg-red-100 dark:bg-red-500/20 text-red-700 dark:text-red-400";case"admin":return"bg-orange-100 dark:bg-orange-500/20 text-orange-700 dark:text-orange-400";default:return"bg-neutral-100 dark:bg-neutral-800 text-neutral-700 dark:text-neutral-300"}},y=[{key:"name",label:"Usuario",sortable:!0,render:r=>e.jsxs("div",{className:"flex items-center gap-3",children:[r.avatar?e.jsx("img",{src:r.avatar,alt:r.name,className:"w-9 h-9 rounded-full object-cover"}):e.jsx("div",{className:"w-9 h-9 rounded-full bg-green-100 dark:bg-green-500/20 flex items-center justify-center text-green-500 font-medium",children:r.name?.charAt(0).toUpperCase()||r.email?.charAt(0).toUpperCase()}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:r.name||r.text}),e.jsx("p",{className:"text-xs text-neutral-500 dark:text-neutral-400",children:r.email})]})]})},{key:"role_name",label:"Rol",render:r=>e.jsxs("span",{className:`inline-flex items-center gap-1 px-2.5 py-1 rounded-full text-xs font-medium ${k(r.role_name)}`,children:[r.role_name==="root"&&e.jsx(D,{size:12}),r.role_name||"user"]})},{key:"company",label:"Empresa",render:r=>r.company?e.jsx("span",{className:"text-neutral-700 dark:text-neutral-300",children:r.company.name}):e.jsx("span",{className:"text-neutral-400",children:"-"})},{key:"landings_count",label:"Landings",sortable:!0,className:"text-center",render:r=>e.jsx("span",{className:"inline-flex items-center px-2.5 py-1 rounded-full text-xs font-medium bg-blue-100 dark:bg-blue-500/20 text-blue-700 dark:text-blue-400",children:r.landings_count||0})},{key:"status",label:"Estado",render:r=>e.jsx("span",{className:`inline-flex items-center gap-1 px-2.5 py-1 rounded-full text-xs font-medium ${r.status==="verify"?"bg-green-100 dark:bg-green-500/20 text-green-700 dark:text-green-400":"bg-yellow-100 dark:bg-yellow-500/20 text-yellow-700 dark:text-yellow-400"}`,children:r.status==="verify"?e.jsxs(e.Fragment,{children:[e.jsx(O,{size:12}),"Verificado"]}
1):e.jsxs(e.Fragment,{children:[e.jsx(M,{size:12}),"Pendiente"]})})},{key:"created_at",label:"Registro",sortable:!0,render:r=>e.jsx("span",{className:"text-neutral-500 dark:text-neutral-400",children:C(new Date(r.created_at),{addSuffix:!0,locale:P})})}],j=r=>e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>l(c===r.id?null:r.id),className:"p-2 rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-800 transition-colors",children:e.jsx(_,{size:16})}),c===r.id&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>l(null)}),e.jsxs("div",{className:"absolute right-0 top-full mt-1 w-48 bg-white dark:bg-neutral-800 rounded-lg shadow-lg border border-neutral-200 dark:border-neutral-700 py-1 z-20",children:[e.jsxs("button",{onClick:()=>{t.visit(route("admin.users.edit",r.id)),l(null)},className:"w-full flex items-center gap-2 px-4 py-2 text-sm text-neutral-700 dark:text-neutral-300 hover:bg-neutral-100 dark:hover:bg-neutral-700",children:[e.jsx(E,{size:14}),"Editar"]}),r.role_name!=="root"&&e.jsxs(e.Fragment,{children:[e.jsx("hr",{className:"my-1 border-neutral-200 dark:border-neutral-700"}),e.jsxs("button",{onClick:()=>{o({isOpen:!0,user:r}),l(null)},className:"w-full flex items-center gap-2 px-4 py-2 text-sm text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-500/10",children:[e.jsx(z,{size:14}),"Eliminar"]})]})]})]})]});return e.jsxs(N,{title:"Admin - Usuarios",user:u.user,children:[e.jsxs("div",{className:"p-6 md:p-8 pt-20 md:pt-8",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-neutral-900 dark:text-white",children:"Usuarios"}),e.jsx("p",{className:"text-neutral-500 dark:text-neutral-400 mt-1",children:"Gestiona los usuarios del sistema"})]}),e.jsx(S,{data:s.data,columns:y,totalItems:s.total,currentPage:s.current_page,perPage:s.per_page,searchPlaceholder:"Buscar por nombre o email...",onSearch:p,onPageChange:g,onPerPageChange:h,onSort:b,sortKey:a.sort,sortDirection:a.direction,actions:j,emptyMessage:"No se encontraron usuarios"})]}),e.jsx(w,{isOpen:n.isOpen,onClose:()=>o({isOpen:!1,user:null}),onConfirm:f,title:"Eliminar usuario",message:`¿Estas seguro que deseas eliminar a "${n.user?.name}"? Esta accion no se puede deshacer.`,confirmText:"Eliminar",isLoading:x,variant:"danger"})]})}export{le as default};
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.