1import{j as e}from"./vendor-query-DXQz-G-n.js";import{r as l,u as H}from"./vendor-react-UDtOjBVY.js";import{I as A}from"./IconPlus-CuQLRwH4.js";import{u as Q}from"./usePersistedTableFilters-C1Q5Rtsf.js";import{P as O}from"./PageHeader-CmzrJx6L.js";import{S as J}from"./SexFilterSelect-DRkad8y6.js";import{t as b}from"./i18n-B-CwY3G2.js";import{aY as X,u as K,s as Y,B as Z,aZ as G,a_ as W,a$ as ee}from"./index-BZHYFz0Q.js";import{I as re}from"./IconCheck-Dwm0jyAK.js";import{u as C}from"./vendor-ui-GdHffJNH.js";import{n as v,f as V}from"./person-name-BIoW8DcO.js";import{R as u}from"./RefereeFormField-DuGoKX6f.js";import{I as h}from"./input-DC8dNGoe.js";import{F as k}from"./field-BXJRgc1P.js";import{S as x}from"./select-amxLh6pB.js";import{B as S}from"./button-gaxnaY7A.js";import{u as ae}from"./use-table-state-CuVM3Qyx.js";import{u as te}from"./hooks-Cm7H9N3t.js";import{u as se}from"./use-server-paginated-query-CjNpbYyj.js";import{C as ie,a as le}from"./card-BiDOXFEv.js";import{D as ne}from"./data-table-DwPZK98P.js";import{E as oe}from"./export-dropdown-B4Hs_dfb.js";import"./IconCalendar-DBkCqNtU.js";import"./index-C8ucyweu.js";import"./IconSearch-fo5gSV9w.js";import"./IconChevronLeft-KK2-2Dn9.js";import"./IconChevronRight-CsCcpSvF.js";import"./IconDownload-CmKZgA45.js";import"./download-CBSMuAGV.js";function U(r){return[{header:b(r,"export.header.name","Nombre"),key:"fullName",width:30},{header:b(r,"export.header.dni","DNI"),key:"dni",width:15},{header:b(r,"export.header.club","Club"),key:"club",width:25},{header:b(r,"export.header.secondaryClub","Club secundario"),key:"secondaryClub",width:25},{header:b(r,"export.header.email","Email"),key:"email",width:30},{header:b(r,"export.header.phone","Teléfono"),key:"phone",width:15}]}U();function de({isClubAdmin:r,identityLabel:i}){return r?[{key:"fullName",header:"NOMBRE",sortable:!0,render:a=>e.jsx("span",{className:"text-sm font-semibold text-primary-900",children:a.fullName??"â"})},{key:"dni",header:i,sortable:!0,render:a=>e.jsx("span",{className:"text-sm text-primary-700",children:a.dni??"â"})},{key:"email",header:"EMAIL",sortable:!0,render:a=>e.jsx("span",{className:"text-sm text-primary-600",children:a.email??"â"})},{key:"phone",header:"TELEFONO",sortable:!0,className:"w-36",render:a=>e.jsx("span",{className:"text-sm text-primary-600",children:a.phone??"â"})}]:[{key:"fullName",header:"NOMBRE",sortable:!0,render:a=>e.jsx("span",{className:"text-sm font-semibold text-primary-900",children:a.fullName??"â"})},{key:"club",header:"CLUB",sortable:!0,render:a=>e.jsx("span",{className:"text-sm text-primary-700",children:a.club??"â"})},{key:"dni",header:i,sortable:!0,className:"w-32",render:a=>e.jsx("span",{className:"text-sm text-primary-600",children:a.dni??"â"})},{key:"email",header:"EMAIL",sortable:!0,render:a=>e.jsx("span",{className:"text-sm text-primary-600",children:a.email??"â"})},{key:"phone",header:"TELEFONO",sortable:!0,className:"w-36",render:a=>e.jsx("span",{className:"text-sm text-primary-600",children:a.phone??"â"})}]}function me(r){const i=X(),[a,I]=l.useState(""),[t,y]=l.useState(""),[o,E]=l.useState(""),[d,N]=l.useState(""),[m,p]=l.useState(""),[f,n]=l.useState(""),[g,F]=l.useState(""),[j,w]=l.useState(""),s=q=>{q.preventDefault();const P=v(a),R=v(t);if(!P){C.error("Ingresa el nombre");return}if(!R){C.error("Ingresa el apellido");return}const c={name:P,lastName:R},z=o.trim();z&&(c.email=z);const D=d.trim();D&&(c.phone=D),m&&(c.category=m);const L=f.trim();L&&(c.dni=L);const M=Number(g);g&&!isNaN(M)&&(c.club_id=M);const B=Number(j);j&&!isNaN(B)&&(c.union_id=B),i.mutate(c,{onSuccess:()=>{C.success("Ãrbitro creado"),r()},onError:T=>{const $=T instanceof Error?T.message:"Error al crear el árbitro";C.error($)}})};return{isPending:i.isPending,name:a,setName:I,lastName:t,setLastName:y,email:o,setEmail:E,phone:d,setPhone:N,category:m,setCategory:p,dni:f,setDni:n,clubId:g,setClubId:F,unionId:j,setUnionId:w,handleSubmit:s}}function ce(r){const i=K();return e.jsxs("div",{className:"flex max-h-[60vh] flex-col gap-4 overflow-y-auto px-6 py-5",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[e.jsx(u,{id:"referee-name",label:"Nombre",required:!0,children:e.jsx(h,{id:"referee-name",placeholder:"Ej: Juan",value:r.name,onChange:a=>r.setName(V(a.target.value)),onBlur:()=>r.setName(v(r.name)),autoFocus:!0})}),e.jsx(u,{id:"referee-lastName",label:"Apellido",required:!0,children:e.jsx(h,{id:"referee-lastName",placeholder:"Ej: Perez",value:r.lastName,onChange:a=>r.setLastName(V(a.target.value)),onBlur:()=>r.setLastName(v(r.lastName))})})]}),e.jsx(u,{id:"referee-email",label:"Email",children:e.jsx(h,{id:"referee-email",type:"email",placeholder:"[email protected]",value:r.email,onChange:a=>r.setEmail(a.target.value)})}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[e.jsx(u,{id:"referee-phone",label:"Telefono",children:e.jsx(h,{id:"referee-phone",type:"tel",placeholder:"1155001001",value:r.phone,onChange:a=>r.setPhone(a.target.value)})}),e.jsxs(k.Root,{children:[e.jsx(k.Label,{children:"Categoria"}),e.jsx(k.Control,{children:e.jsxs(x.Root,{value:r.category||void 0,onValueChange:r.setCategory,children:[e.jsx(x.Trigger,{children:e.jsx(x.Value,{placeholder:"â"})}),e.jsxs(x.Content,{children:[e.jsx(x.Item,{value:"A",children:"A"}),e.jsx(x.Item,{value:"B",children:"B"}),e.jsx(x.Item,{value:"C",children:"C"})]})]})})]})]}),e.jsx(u,{id:"referee-dni",label:i("identity.short"),children:e.jsx(h,{id:"referee-dni",placeholder:"Ej: 30123456",value:r.dni,onChange:a=>r.setDni(a.target.value)})}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[e.jsx(u,{id:"referee-club",label:"Club ID",children:e.jsx(h,{id:"referee-club",type:"number",placeholder:"Ej: 1",value:r.clubId,onChange:a=>r.setClubId(a.target.value)})}),e.jsx(u,{id:"referee-union",label:"Union ID",children:e.jsx(h,{id:"referee-union",type:"number",placeholder:"Ej: 1",value:r.unionId,onChange:a=>r.setUnionId(a.target.value)})})]})]})}function _({onClose:r}){const i=me(r);return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button","aria-label":"Cerrar",className:"fixed inset-0 z-50 bg-black/40",onClick:r}),e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-md rounded-xl bg-white shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-primary-100 px-6 py-4",children:[e.jsx("h2",{className:"text-lg font-bold text-primary-900",children:"Nuevo Ãrbitro"}),e.jsx("button",{type:"button",onClick:r,className:"flex h-8 w-8 items-center justify-center rounded-full text-primary-400 transition-colors hover:bg-primary-50",children:e.jsx(Y,{size:18})})]}),e.jsxs("form",{onSubmit:i.handleSubmit,children:[e.jsx(ce,{...i}),e.jsxs("div",{className:"flex items-center justify-end gap-3 border-t border-primary-100 px-6 py-4",children:[e.jsx(S,{type:"button",variant:"outline",onClick:r,children:"Cancelar"}),e.jsxs(S,{type:"submit",loading:i.isPending,children:[e.jsx(re,{size:16}
1),"Crear árbitro"]})]})]})]})})]})}function _e(){const r=K(),i=H(),I=Z()==="club_admin",t=ae({initialSortKey:"lastName",initialSortDir:"asc"}),[y,o]=l.useState(!1),{allClubs:E=[]}=te(),{filters:d,setFilter:N}=Q({clubFilter:"all",sexFilter:"all"}),m=d.clubFilter,p=d.sexFilter==="all"?void 0:d.sexFilter,f=m!=="all"?Number(m):void 0,{data:n,isLoading:g,isError:F}=se({queryKey:W.referees(void 0,void 0,f,p),queryFn:s=>ee(s,{clubId:f,sex:p}),tableState:t}),j=l.useMemo(()=>U(r),[r]);if(F)return e.jsxs("div",{children:[e.jsx(O,{title:"Ãrbitros",actions:e.jsxs(S,{size:"sm",onClick:()=>o(!0),children:[e.jsx(A,{size:16}),"Nuevo Ãrbitro"]})}),e.jsx(ie,{className:"border-primary-100",children:e.jsx(le,{className:"p-8 text-center",children:e.jsx("p",{className:"text-sm text-primary-400",children:"No hay datos disponibles"})})}),y&&e.jsx(_,{onClose:()=>o(!1)})]});const w=de({isClubAdmin:I,identityLabel:r("identity.short")});return e.jsxs("div",{children:[e.jsx(O,{title:"Ãrbitros",actions:e.jsxs(S,{size:"sm",onClick:()=>o(!0),children:[e.jsx(A,{size:16}),"Nuevo Ãrbitro"]})}),e.jsx(ne,{columns:w,data:(n==null?void 0:n.items)??[],loading:g,emptyMessage:t.search?`No se encontraron árbitros para "${t.search}"`:"No hay árbitros registrados",sortKey:t.sortKey,sortDir:t.sortDir,onSort:t.onSort,page:t.page,pageSize:t.pageSize,total:(n==null?void 0:n.total)??0,onPageChange:t.onPageChange,onPageSizeChange:t.onPageSizeChange,searchValue:t.search,onSearchChange:t.onSearchChange,searchPlaceholder:r("identity.search.byNameOrShort"),onRowClick:s=>i(`/referee/${s.id}`),getRowHref:s=>`/referee/${s.id}`,toolbar:e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"flex items-center gap-2 text-xs text-primary-400",children:["Club",e.jsxs("select",{value:m,onChange:s=>{N("clubFilter",s.target.value),t.onPageChange(1)},className:"h-9 rounded-md border border-primary-100 bg-surface-raised px-3 text-sm text-primary-700","aria-label":"Filtrar por club",children:[e.jsx("option",{value:"all",children:"Todos"}),E.map(s=>e.jsx("option",{value:String(s.id),children:s.name},s.id))]})]}),e.jsx(J,{layout:"inline",value:d.sexFilter,onValueChange:s=>{N("sexFilter",s),t.onPageChange(1)}}),e.jsx(oe,{columns:j,rows:[],loadRows:async()=>(await G({club_id:f,sex:p,per_page:5e3})).data,filename:"referees",sheetName:r("export.sheet.referees",{defaultValue:"Ãrbitros"}),title:r("export.title.referees",{defaultValue:"Ãrbitros"})})]})}),y&&e.jsx(_,{onClose:()=>o(!1)})]})}export{_e 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.