1import{j as e}from"./vendor-query-DXQz-G-n.js";import{r as l,u as S}from"./vendor-react-UDtOjBVY.js";import{I as N}from"./IconDownload-CmKZgA45.js";import{I as C}from"./IconPlus-CuQLRwH4.js";import{u as c}from"./vendor-ui-GdHffJNH.js";import{P as f}from"./PageHeader-CmzrJx6L.js";import{B as b}from"./badge-Db_P7xmN.js";import{u as v,s as P,g as q,e as E}from"./hooks-B8JUvHZk.js";import{F as D}from"./form-modal-Yjx5zM-O.js";import{I as g}from"./input-DC8dNGoe.js";import{u as w}from"./use-table-state-CuVM3Qyx.js";import{u as z}from"./use-server-paginated-query-CjNpbYyj.js";import{B as y}from"./button-gaxnaY7A.js";import{D as M}from"./data-table-DwPZK98P.js";import"./index-BZHYFz0Q.js";import"./download-CBSMuAGV.js";import"./IconCheck-Dwm0jyAK.js";import"./IconCalendar-DBkCqNtU.js";import"./IconSearch-fo5gSV9w.js";import"./IconChevronLeft-KK2-2Dn9.js";import"./IconChevronRight-CsCcpSvF.js";const k=[{key:"name",header:"Nombre",sortable:!0,render:r=>e.jsx("span",{className:"text-sm font-semibold text-primary-900",children:r.name})},{key:"category",header:"Categoria",sortable:!0,className:"w-32",render:r=>e.jsx(b,{variant:"info",children:r.category??"â"})},{key:"players_count",header:"Jugadores",sortable:!0,className:"w-28",render:r=>e.jsx("span",{className:"text-sm text-primary-700",children:r.players_count})},{key:"description",header:"Descripcion",render:r=>e.jsx("span",{className:"text-sm text-primary-500",children:r.description??"â"})}];function F({onClose:r}){const m=v(),[n,d]=l.useState(""),[i,a]=l.useState(""),[s,p]=l.useState(""),u=()=>{const t=n.trim();if(!t){c.error("Ingresa el nombre del plantel");return}const o={name:t},x=i.trim();x&&(o.description=x);const h=s.trim();h&&(o.category=h),m.mutate(o,{onSuccess:()=>{c.success("Plantel creado"),r()},onError:j=>c.error(j.message||"Error al crear el plantel")})};return e.jsxs(D,{open:!0,onClose:r,onSubmit:u,title:"Nuevo plantel",submitLabel:"Crear plantel",isSubmitting:m.isPending,children:[e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs("label",{htmlFor:"squad-name",className:"text-sm font-medium text-primary-700",children:["Nombre ",e.jsx("span",{className:"text-error-500",children:"*"})]}),e.jsx(g,{id:"squad-name",placeholder:"Ej: Pumas",value:n,onChange:t=>d(t.target.value),autoFocus:!0})]}),e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("label",{htmlFor:"squad-description",className:"text-sm font-medium text-primary-700",children:"Descripcion"}),e.jsx(g,{id:"squad-description",placeholder:"Ej: Plantel principal",value:i,onChange:t=>a(t.target.value)})]}),e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("label",{htmlFor:"squad-category",className:"text-sm font-medium text-primary-700",children:"Categoria"}),e.jsx(g,{id:"squad-category",placeholder:"Ej: Mayor",value:s,onChange:t=>p(t.target.value)})]})]})}function ae(){const r=S(),[m,n]=l.useState(!1),[d,i]=l.useState(!1),a=w({initialSortKey:"name",initialSortDir:"asc"}),{data:s,isLoading:p,isError:u}=z({queryKey:[...P.list()],queryFn:o=>q(o),tableState:a});if(u)return e.jsxs("div",{children:[e.jsx(f,{title:"Planteles"}),e.jsx("div",{className:"rounded-lg bg-error-50 p-4 text-center text-error-600",children:"Error al cargar los datos"})]});const t=async()=>{n(!0);try{await E(),c.success("Exportacion descargada correctamente")}catch{c.error("Error al exportar planteles")}finally{n(!1)}};return e.jsxs("div",{children:[e.jsx(f,{title:"Planteles",actions:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(y,{variant:"outline",size:"sm",onClick:t,loading:m,children:[e.jsx(N,{size:16}),"Exportar"]}),e.jsxs(y,{size:"sm",onClick:()=>i(!0),children:[e.jsx(C,{size:16}),"Nuevo plantel"]})]})}),e.jsx(M,{columns:k,data:(s==null?void 0:s.items)??[],loading:p,emptyMessage:a.search?`No se encontraron planteles para "${a.search}"`:"No hay planteles",sortKey:a.sortKey,sortDir:a.sortDir,onSort:a.onSort,page:a.page,pageSize:a.pageSize,total:(s==null?void 0:s.total)??0,onPageChange:a.onPageChange,onPageSizeChange:a.onPageSizeChange,searchValue:a.search,onSearchChange:a.onSearchChange,searchPlaceholder:"Buscar por nombre o categoria...",onRowClick:o=>r(`/planteles/${o.id}`),getRowHref:o=>`/planteles/${o.id}`}),d&&e.jsx(F,{onClose:()=>i(!1)})]})}export{ae 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.