1import{c as R,j as a,o as we,r as K,bV as _e,F as z,f as _,dm as Pe,u as Ae,h as ne,k as M,dn as $e,dp as Oe,dq as Te,dr as De,ds as Fe,dt as ze,du as Re,dv as Ke,dw as Le,dx as qe,dy as Be,dz as ke,dA as Ue,dB as Ve,a7 as He,B as F,dC as le,dD as ie}from"./index-ItQ9IC6Y.js";import{A as B,b as k,a as W}from"./avatar-DmmUUG1c.js";import{g as Qe,f as Ge,u as oe,C as H}from"./field-CfSQk7cv.js";import{T as Ye}from"./textarea-BbcXF0y9.js";import{u as We,P as X,R as Xe}from"./usePermissions-B0khduJ3.js";import{b as Ze}from"./RefereesService-f736CJ_c.js";import{c as Z,i as Je,b as ce,d as de}from"./matchUtils-BfNGqWyV.js";import{i as ea}from"./chunk-SQIAVXJX-D1qk5g-J.js";import{a as ue,o as me,s as Q}from"./schemas-DkDf9R-U.js";import{D as fe}from"./DataTable-DE4nY76q.js";import{I as pe}from"./InfiniteSelect-CvAQ0YKZ.js";import{D as he,a as xe,b as ge,c as ye,d as je,e as be,f as ve}from"./dialog-D1D4aVsP.js";import{u as Ne}from"./useInfiniteQuery-Boxa-JRz.js";import{g as aa}from"./CoachesService-yHGPWPEH.js";import{P as Ie}from"./plus-DyAwvYjr.js";import{I as ta}from"./input-BdKiMncn.js";import{g as sa}from"./PlayersService-DQ65AGdV.js";function Qa(s){const e=R.c(40),{firstRefereeId:t,secondRefereeId:n,hasEditObservationsPermissions:m,homeTeamId:h,observations:i,scoreKeeper:d,setObservations:o,setScoreKeeper:f,setTimeKeeper:r,timeKeeper:j,matchStatus:g}=s,{can:y,roleTeamId:E,role:I}=We(),v=E===h,N=I===Xe.ADMIN;let C;e[0]!==g?(C=Z(g)||Je(g),e[0]=g,e[1]=C):C=e[1];const p=C;let c;e[2]!==y||e[3]!==N||e[4]!==v?(c=y(X.MATCHES.TIME_KEEPER)&&(N||v),e[2]=y,e[3]=N,e[4]=v,e[5]=c):c=e[5];const x=c;let l;e[6]!==y||e[7]!==N||e[8]!==v?(l=y(X.MATCHES.SCORE_KEEPER)&&(N||v),e[6]=y,e[7]=N,e[8]=v,e[9]=l):l=e[9];const u=l;let b;e[10]!==t?(b=a.jsx(J,{refereeId:t,label:"Ãrbitro 1"}),e[10]=t,e[11]=b):b=e[11];let w;e[12]!==n?(w=a.jsx(J,{refereeId:n,label:"Ãrbitro 2"}),e[12]=n,e[13]=w):w=e[13];const U=p||!x;let P;e[14]!==r||e[15]!==U||e[16]!==j?(P=a.jsx(ee,{value:j,onValueChange:r,label:"Cronometrista",disabled:U}),e[14]=r,e[15]=U,e[16]=j,e[17]=P):P=e[17];const V=p||!u;let A;e[18]!==d||e[19]!==f||e[20]!==V?(A=a.jsx(ee,{value:d,onValueChange:f,label:"Planillero",disabled:V}),e[18]=d,e[19]=f,e[20]=V,e[21]=A):A=e[21];let $;e[22]!==b||e[23]!==w||e[24]!==P||e[25]!==A?($=a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-4",children:[b,w,P,A]}),e[22]=b,e[23]=w,e[24]=P,e[25]=A,e[26]=$):$=e[26];let L;e[27]===Symbol.for("react.memo_cache_sentinel")?(L=a.jsx(Qe,{htmlFor:"textarea-observations",children:"Observaciones"}),e[27]=L):L=e[27];let O;e[28]!==o?(O=Se=>o(Se.target.value),e[28]=o,e[29]=O):O=e[29];let T;e[30]!==m||e[31]!==g?(T=!Z(g)||!m(),e[30]=m,e[31]=g,e[32]=T):T=e[32];let D;e[33]!==i||e[34]!==O||e[35]!==T?(D=a.jsx("div",{className:"w-full",children:a.jsxs(Ge,{children:[L,a.jsx(Ye,{id:"textarea-observations",value:i,onChange:O,className:"w-full",placeholder:"Observaciones del partido...",disabled:T})]})}),e[33]=i,e[34]=O,e[35]=T,e[36]=D):D=e[36];let q;return e[37]!==$||e[38]!==D?(q=a.jsx("div",{className:"footer_container max-w-full",children:a.jsxs("section",{className:"flex flex-col gap-y-4",children:[$,D]})}),e[37]=$,e[38]=D,e[39]=q):q=e[39],q}const J=s=>{const e=R.c(31),{refereeId:t,label:n}=s;let m;e[0]!==t?(m=z.referees.list({refereeId:t}),e[0]=t,e[1]=m):m=e[1];let h;e[2]!==t?(h=()=>Ze(t),e[2]=t,e[3]=h):h=e[3];const i=!!t;let d;e[4]!==m||e[5]!==h||e[6]!==i?(d={queryKey:m,queryFn:h,enabled:i},e[4]=m,e[5]=h,e[6]=i,e[7]=d):d=e[7];const{data:o}=we(d);if(t==null){let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=a.jsx(B,{children:a.jsx(k,{children:"SN"})}),e[8]=p):p=e[8];let c;e[9]===Symbol.for("react.memo_cache_sentinel")?(c=a.jsx("span",{className:"text-sm font-medium",children:"Sin designar"}),e[9]=c):c=e[9];let x;return e[10]!==n?(x=a.jsxs("div",{className:"w-full flex items-center gap-2",children:[p,a.jsxs("div",{className:"flex flex-col",children:[c,a.jsx("span",{className:"text-xs text-muted-foreground",children:n})]})]}),e[10]=n,e[11]=x):x=e[11],x}const f=o?.personal_data.avatar;let r;e[12]!==f?(r=a.jsx(W,{src:f,className:"object-cover"}),e[12]=f,e[13]=r):r=e[13];let j;e[14]!==o?.personal_data.surname?(j=o?.personal_data.surname.charAt(0),e[14]=o?.personal_data.surname,e[15]=j):j=e[15];let g;e[16]!==j?(g=a.jsx(k,{children:j}),e[16]=j,e[17]=g):g=e[17];let y;e[18]!==r||e[19]!==g?(y=a.jsxs(B,{children:[r,g]}),e[18]=r,e[19]=g,e[20]=y):y=e[20];const E=`${o?.personal_data.surname}, ${o?.personal_data.name}`;let I;e[21]!==E?(I=a.jsx("span",{className:"text-sm font-medium",children:E}),e[21]=E,e[22]=I):I=e[22];let v;e[23]!==n?(v=a.jsx("span",{className:"text-xs text-muted-foreground",children:n}),e[23]=n,e[24]=v):v=e[24];let N;e[25]!==I||e[26]!==v?(N=a.jsxs("div",{className:"flex flex-col",children:[I,v]}),e[25]=I,e[26]=v,e[27]=N):N=e[27];let C;return e[28]!==N||e[29]!==y?(C=a.jsxs("div",{className:"w-full flex items-center gap-2",children:[y,N]}),e[28]=N,e[29]=y,e[30]=C):C=e[30],C},ee=K.memo(s=>{const e=R.c(5),{value:t,onValueChange:n,label:m,disabled:h}=s;let i;return e[0]!==h||e[1]!==m||e[2]!==n||e[3]!==t?(i=a.jsx(ea,{value:t,onValueChange:n,label:m,variant:_e.BORDERED,disabled:h,isDisabled:h,radius:"sm"}),e[0]=h,e[1]=m,e[2]=n,e[3]=t,e[4]=i):i=e[4],i});function S({isOfflineMode:s,matchId:e,userId:t,half:n,buildOperation:m,onlineFn:h,invalidate:i,errorMessage:d,mutationKey:o,optimisticUpdate:f}){return{...o&&{mutationKey:o},networkMode:"always",onMutate:r=>{s||f?.(r)},mutationFn:async r=>s?(await Pe({matchId:e,userId:t,context:{half:n,createdAt:Date.now()},body:m(r)}),{queued:!0}):h(r),onError:r=>{_.error(typeof d=="function"?d(r):d)},onSettled:()=>{s||i()}}}const ra={warning:"amonestación",caution:"apercibimiento",fine:"multa",suspension:"suspensión",disqualification:"descalificación",expulsion:"expulsión",match_loss:"pérdida de partido"},na={provisional:"provisoria",active:"activa",fulfilled:"cumplida",appealed:"apelada",cancelled:"cancelada"},la={player:"jugador/a",coach:"entrenador/a"},ia=/^a (\w+) (\w+) sanction \(id [a-f0-9]+\)(?:, (\d+)\/(\d+) matches served)?(?:, suspended until (\d{4}-\d{2}-\d{2}))?(?:, record expires (\d{4}-\d{2}-\d{2}))?$/;function ae(s){const[e,t,n]=s.split("-");return`${n}/${t}/${e}`}function oa(s){const e=s.trim().match(ia);if(!e)return null;const[,t,n,m,h,i,d]=e,o=na[t]??t,f=ra[n]??n;
1let r=`sanción ${o} de ${f}`;return m&&h?r+=` (cumplió ${m} de ${h} partidos)`:i&&(r+=` (vigente hasta el ${ae(i)})`),d&&(r+=`, el antecedente vence el ${ae(d)}`),r}function ca(s){const e=s.match(/the (player|coach) has (.+)$/i);if(!e)return null;const[,t,n]=e,m=la[t.toLowerCase()]??t,h=n.split(";").map(i=>oa(i)).filter(i=>!!i);return h.length===0?null:`No se pudo agregar: el/la ${m} tiene una ${h.join("; ")}.`}function da(s){const e=s?.response?.data;if(typeof e=="string")return e;if(e&&typeof e=="object"&&"message"in e)return e.message}function G(s,e){const t=da(s);return t?ca(t)??e:e}function Ce(){const{roleId:s}=Ae();return s??"desconocido"}function ua({matchId:s,team:e,isOnline:t=!0,matchStatus:n}){const m=ne(),h=Ce(),i=!t&&n!==void 0&&ce(n),d=de(n),o=z.matchCoaches.list({matchId:s,teamId:e.team_id,teamVariant:e.variant}),f={id:e.team_id,variant:e.variant},r=()=>{m.invalidateQueries({queryKey:o})},j=(p,c)=>{m.setQueryData(o,x=>x&&{...x,items:x.items.map(l=>l.id===p?c(l):l)})},g={isOfflineMode:i,matchId:s,userId:h,half:d},y=M(S({...g,mutationKey:["create-coach"],buildOperation:({coachId:p,tmpId:c})=>({type:"addCoach",rowId:c,coachId:p,team:f}),onlineFn:({coachId:p})=>ze({matchId:s,coachId:p,team:f}),errorMessage:p=>G(p,"Error al agregar entrenador"),invalidate:r})),E=M(S({...g,mutationKey:["remove-coach","coach"],buildOperation:p=>({type:"removeCoach",rowId:p}),onlineFn:De,errorMessage:"Error al eliminar entrenador",invalidate:r})),I=M(S({...g,buildOperation:({id:p,plusOrMinus:c})=>({type:"coachCard",rowId:p,card:"yellow",add:c}),onlineFn:Te,errorMessage:"Error al actualizar tarjeta amarilla",invalidate:r,optimisticUpdate:({id:p,plusOrMinus:c})=>j(p,x=>({...x,sanctions:{...x.sanctions,yellow_card:c}}))})),v=M(S({...g,buildOperation:({id:p,plusOrMinus:c})=>({type:"coachCard",rowId:p,card:"red",add:c}),onlineFn:Oe,errorMessage:"Error al actualizar tarjeta roja",invalidate:r,optimisticUpdate:({id:p,plusOrMinus:c})=>j(p,x=>({...x,sanctions:{...x.sanctions,red_card:c}}))})),N=M(S({...g,mutationKey:["exclusion","coach"],buildOperation:({id:p,plusOrMinus:c,time:x})=>({type:"coachExclusion",rowId:p,add:c,time:x}),onlineFn:$e,errorMessage:"Error al actualizar exclusión",invalidate:r})),C=M(S({...g,mutationKey:["update-coach-letter","coach"],buildOperation:({id:p,letter:c})=>({type:"setCoachLetter",rowId:p,letter:c}),onlineFn:Fe,errorMessage:p=>G(p,"Error al cambiar la letra"),invalidate:r,optimisticUpdate:({id:p,letter:c})=>m.setQueryData(o,x=>{if(!x)return x;const l=x.items.find(u=>u.id===p);return l?{...x,items:x.items.map(u=>u.id===p?{...u,letter:c}:u.letter===c?{...u,letter:l.letter}:u)}:x})}));return{createCoachMutation:y,updateLetterMutation:C,removeCoachMutation:E,yellowCardMutation:I,redCardMutation:v,exclusionMutation:N,invalidateCoaches:r}}const Ee=["A","B","C","D","E"],Y=Ee.length;function Ga(s){return Ee.find(e=>!s.includes(e))??""}
1function ma({matchId:s,team:e,isOnline:t=!0,matchStatus:n}){const m=ne(),h=Ce(),i=!t&&n!==void 0&&ce(n),d=de(n),o=z.matchPlayers.list({matchId:s,teamId:e.team_id,teamVariant:e.variant}),f={id:e.team_id,variant:e.variant},r=()=>{m.invalidateQueries({queryKey:o})},j=()=>{r(),m.invalidateQueries({queryKey:z.match.header(s)})},g=(l,u)=>{m.setQueryData(o,b=>b&&{...b,items:b.items.map(w=>w.id===l?u(w):w)})},y={isOfflineMode:i,matchId:s,userId:h,half:d},E=M(S({...y,mutationKey:["create-player"],buildOperation:({playerId:l,number:u,tmpId:b})=>({type:"addPlayer",rowId:b,playerId:l,number:Number(u),team:f}),onlineFn:({playerId:l,number:u})=>Ve({matchId:s,playerId:l,team:f,number:u}),errorMessage:l=>G(l,"Error al agregar jugador"),invalidate:r})),I=M(S({...y,mutationKey:["remove-player","player"],buildOperation:l=>({type:"removePlayer",rowId:l}),onlineFn:Ue,errorMessage:"Error al eliminar jugador",invalidate:r})),v=M(S({...y,mutationKey:["goal","player"],buildOperation:({id:l,plusOrMinus:u})=>({type:"goal",rowId:l,team:f,add:u}),onlineFn:ke,errorMessage:"Error al actualizar gol",invalidate:j,optimisticUpdate:({id:l,plusOrMinus:u})=>g(l,b=>({...b,goals:{...b.goals,total:Math.max(0,b.goals.total+(u?1:-1))}}))})),N=M(S({...y,buildOperation:({id:l,plusOrMinus:u})=>({type:"playerCard",rowId:l,card:"yellow",add:u}),onlineFn:Be,errorMessage:"Error al actualizar tarjeta amarilla",invalidate:r,optimisticUpdate:({id:l,plusOrMinus:u})=>g(l,b=>({...b,sanctions:{...b.sanctions,yellow_card:u}}))})),C=M(S({...y,buildOperation:({id:l,plusOrMinus:u})=>({type:"playerCard",rowId:l,card:"red",add:u}),onlineFn:qe,errorMessage:"Error al actualizar tarjeta roja",invalidate:r,optimisticUpdate:({id:l,plusOrMinus:u})=>g(l,b=>({...b,sanctions:{...b.sanctions,red_card:u}}))})),p=M(S({...y,mutationKey:["blue-card","player"],buildOperation:({id:l,plusOrMinus:u})=>({type:"playerCard",rowId:l,card:"blue",add:u}),onlineFn:Le,errorMessage:"Error al actualizar tarjeta azul",invalidate:r,optimisticUpdate:({id:l,plusOrMinus:u})=>g(l,b=>({...b,sanctions:{...b.sanctions,blue_card:u}}))})),c=M(S({...y,mutationKey:["exclusion","player"],buildOperation:({id:l,plusOrMinus:u,time:b})=>({type:"playerExclusion",rowId:l,add:u,time:b}),onlineFn:Ke,errorMessage:"Error al actualizar exclusión",invalidate:r})),x=M(S({...y,mutationKey:["edit-number","player"],buildOperation:({id:l,number:u})=>({type:"editNumber",rowId:l,number:u}),onlineFn:({id:l,number:u})=>Re(l,u),errorMessage:"Error al actualizar número",invalidate:r}));return{createPlayerMutation:E,removePlayerMutation:I,goalMutation:v,yellowCardMutation:N,redCardMutation:C,blueCardMutation:p,exclusionMutation:c,editNumberMutation:x,invalidatePlayers:r}}const fa=["provisional","active"],pa="time";function te(s,e){if(!s)return!1;const t=Date.parse(s);return Number.isNaN(t)?!1:t>e}function ha(s,e,t){return s?.length?s.some(n=>n.targetId!==e||!fa.includes(n.status)||!te(n.expiresAt,t)?!1:n.suspensionScope!==pa?!0:te(n.suspensionEndDate,t)):!1}function Me(s){const e=R.c(12),{matchId:t,teamId:n,enabled:m}=s;let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h={players:[],coaches:[],sanctions:[]},e[0]=h):h=e[0];const[i,d]=K.useState(h);let o,f;e[1]!==m||e[2]!==t||e[3]!==n?(o=()=>{if(!m)return;let g=!0;return He(t).then(y=>{if(!g||!y)return;const I=y.match.team_home.team_id===n?y.rosters.home:y.rosters.away;d({...I,sanctions:y.sanctions??[]})}).catch(xa),()=>{g=!1}},f=[t,n,m],e[1]=m,e[2]=t,e[3]=n,e[4]=o,e[5]=f):(o=e[4],f=e[5]),K.useEffect(o,f);let r;e[6]!==i.sanctions?(r=g=>ha(i.sanctions,g,Date.now()),e[6]=i.sanctions,e[7]=r):r=e[7];let j;return e[8]!==i.coaches||e[9]!==i.players||e[10]!==r?(j={players:i.players,coaches:i.coaches,isSanctioned:r},e[8]=i.coaches,e[9]=i.players,e[10]=r,e[11]=j):j=e[11],j}function xa(){}const se=50,ga=s=>Ne({queryKey:[z.coaches.list(s)],queryFn:({pageParam:e=1,signal:t})=>aa({page:e,pageSize:se,signal:t,params:{...s,pageSize:se,page:e}}),initialPageParam:1,getNextPageParam:e=>{const{current_page:t,total_pages:n}=e;return t<n?t+1:void 0}}),ya=me({coachId:Q().min(1,"El entrenador es requerido")}
1),Ya=({team:s,coaches:e,matchId:t,categoryId:n,disabled:m,matchStatus:h,isOnline:i=!0})=>{const{createCoachMutation:d}=ua({matchId:t,team:{team_id:s.id,variant:s.variant},matchStatus:h,isOnline:i}),[o,f]=K.useState(!1),r=oe({resolver:ue(ya),defaultValues:{coachId:""}}),{data:j,fetchNextPage:g,hasNextPage:y,isFetchingNextPage:E}=ga({teamId:s.id,excludeExpiredInsurance:!0,onlyEnabled:!0,categoryId:n}),I=Me({matchId:t,teamId:s.id,enabled:!i}),v=i?j?.pages.flatMap(c=>c.items).filter(Boolean)??[]:I.coaches;function N(c){return e.some(x=>x.coach_id===c)}function C(){r.reset()}async function p(c){if(N(c.coachId)){_.error("El entrenador ya se encuentra en el equipo");return}if(e.length>=Y){_.error(`No se pueden agregar más de ${Y} entrenadores`);return}if(!i&&I.isSanctioned(c.coachId)){_.error("El entrenador tiene una sanción vigente y no puede dirigir");return}try{await d.mutateAsync({coachId:c.coachId,tmpId:le(ie)}),C()}catch{}}return a.jsxs(he,{open:o,onOpenChange:c=>{f(c),c||C()},children:[a.jsx(xe,{asChild:!0,children:a.jsx(F,{className:"flex-1 rounded-none rounded-r-sm hover:scale-none",disabled:m,children:"Agregar entrenador"})}),a.jsxs(ge,{className:"h-full sm:h-[80vh] flex flex-col",children:[a.jsxs(ye,{className:"flex flex-col gap-1",children:[a.jsx(je,{className:"text-left",children:"Agregar entrenador al partido"}),a.jsx(be,{className:"text-left",children:"Selecciona un entrenador para agregarlo al partido."})]}),a.jsxs("div",{className:"flex flex-1 min-h-0 flex-col gap-4",children:[a.jsx("form",{onSubmit:r.handleSubmit(p),className:"space-y-4 shrink-0",children:a.jsxs("div",{className:"flex gap-3 items-start",children:[a.jsxs("div",{className:"flex flex-col gap-1 flex-1",children:[a.jsx(H,{control:r.control,name:"coachId",render:({field:c})=>a.jsx(pe,{items:v,getValue:x=>x.id,getLabel:x=>`${x.personal_data.surname}, ${x.personal_data.name}`,onValueChange:c.onChange,value:c.value,disabled:d.isPending,hasNextPage:i&&y,isFetchingNextPage:i&&E,onBottomReached:g,placeholder:"Seleccionar entrenador"})}),r.formState.errors.coachId&&a.jsx("span",{className:"text-sm text-destructive",children:r.formState.errors.coachId.message})]}),a.jsx(F,{type:"submit",size:"icon",disabled:d.isPending,className:"shrink-0",children:a.jsx(Ie,{})})]})}),a.jsx(ja,{coaches:e})]}),a.jsx(ve,{children:a.jsx(F,{type:"button",onClick:()=>{C(),f(!1)},className:"w-full sm:w-auto",children:"Finalizar selección"})})]})]})},ja=s=>{const e=R.c(12),{coaches:t}=s;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[{id:"letter",header:ba,size:72,cell:va},{accessorKey:"coach",header:"Entrenador",size:400,cell:Na}],e[0]=n):n=e[0];const m=n,h=Ia;let i,d;e[1]!==t.length?(i=a.jsxs("h3",{className:"text-sm font-medium text-foreground",children:["Seleccionados (",t.length,"/",Y,")"]}),d=t.length>0&&a.jsx("span",{className:"text-xs text-muted-foreground",children:"Desliza para ver más"}),e[1]=t.length,e[2]=i,e[3]=d):(i=e[2],d=e[3]);let o;e[4]!==i||e[5]!==d?(o=a.jsxs("div",{className:"flex items-center justify-between shrink-0",children:[i,d]}),e[4]=i,e[5]=d,e[6]=o):o=e[6];let f;e[7]!==t?(f=a.jsx("div",{className:"flex-1 min-h-0",children:t.length===0?a.jsx(h,{}):a.jsx("div",{className:"overflow-y-auto h-full",children:a.jsx(fe,{columns:m,data:t})})}),e[7]=t,e[8]=f):f=e[8];let r;return e[9]!==o||e[10]!==f?(r=a.jsxs("div",{className:"flex flex-1 min-h-0 flex-col space-y-4",children:[o,f]}),e[9]=o,e[10]=f,e[11]=r):r=e[11],r};function ba(){return a.jsx("div",{className:"text-center",children:"Oficial"})}function va(s){const{row:e}=s;return a.jsx("div",{className:"text-center font-semibold text-muted-foreground text-sm",children:e.original.letter||"-"})}function Na(s){const{row:e}=s,t=e.original,n=`${t.coach_name?.[0]??""}${t.coach_surname?.[0]??""}`,m=t.sanctions?.blue_card||t.sanctions?.red_card;return a.jsxs("div",{className:`flex items-center gap-3 text-muted-foreground text-sm ${m?"opacity-40":""}`,children:[a.jsxs(B,{className:"h-8 w-8",children:[a.jsx(W,{src:t.coach_avatar,alt:`${t.coach_surname}, ${t.coach_name}`,className:"object-cover"}),a.jsx(k,{className:"text-xs",children:n.toUpperCase()})]}),a.jsx("span",{children:`${t.coach_surname}, ${t.coach_name}`})]})}function Ia(){return a.jsxs("div",{className:"p-8 text-center text-muted-foreground border rounded-md h-full",children:[a.jsx("div",{className:"w-12 h-12 mx-auto mb-3 bg-muted rounded-full flex items-center justify-center",children:a.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-label":"No hay entrenadores seleccionados",role:"img",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})}),a.jsx("p",{className:"text-sm",children:"No hay entrenadores seleccionados"}),a.jsx("p",{className:"text-xs mt-1",children:"Agrega entrenadores usando el formulario de arriba"})]})}const re=50,Ca=s=>Ne({queryKey:[z.players.list(s)],queryFn:({pageParam:e=1,signal:t})=>sa({page:e,pageSize:re,signal:t,params:{...s,pageSize:re,page:e}}),initialPageParam:1,getNextPageParam:e=>{const{current_page:t,total_pages:n}=e;return t<n?t+1:void 0}}),Ea=16,Ma=me({playerId:Q().min(1,"El jugador es requerido"),number:Q().min(1,"El número de camiseta es requerido").refine(s=>!Number.isNaN(Number(s)),"Debe ser un número válido").refine(s=>Number(s)>=0&&Number(s)<=99,"El número debe estar entre 0 y 99")}),Wa=({team:s,homeTeam:e,players:t,matchId:n,categoryId:m,disabled:h,matchStatus:i,isOnline:d=!0})=>{const{createPlayerMutation:o}
1=ma({matchId:n,team:{team_id:s.id,...s},matchStatus:i,isOnline:d}),[f,r]=K.useState(!1),j=oe({resolver:ue(Ma),defaultValues:{playerId:"",number:""}}),{data:g,fetchNextPage:y,hasNextPage:E,isFetchingNextPage:I}=Ca({teamId:s.id,excludeExpiredInsurance:!0,onlyEnabled:!0,categoryId:m}),v=Me({matchId:n,teamId:s.id,enabled:!d}),N=d?g?.pages.flatMap(l=>l.items).filter(Boolean)??[]:v.players;function C(l){return t.some(u=>u.player_id===l)}function p(l){return t.some(u=>u.number===l)}function c(){j.reset()}async function x(l){if(C(l.playerId)){_.error("El jugador ya se encuentra en el equipo");return}if(p(Number(l.number))){_.error("El número de camiseta ya se encuentra en el equipo");return}if(t.length>=Ea){_.error("No se pueden agregar más de 16 jugadores");return}if(!d&&v.isSanctioned(l.playerId)){_.error("El jugador tiene una sanción vigente y no puede jugar");return}try{await o.mutateAsync({playerId:l.playerId,number:l.number,tmpId:le(ie)}),c()}catch{}}return a.jsxs(he,{open:f,onOpenChange:l=>{r(l),l||c()},children:[a.jsx(xe,{asChild:!0,children:a.jsx(F,{color:"primary",className:"flex-1 rounded-none rounded-l-sm hover:scale-none",disabled:h,children:"Agregar jugador"})}),a.jsxs(ge,{className:"h-full sm:h-[80vh] flex flex-col",children:[a.jsxs(ye,{className:"flex flex-col gap-1",children:[a.jsx(je,{className:"text-left",children:"Agregar jugador al partido"}),a.jsx(be,{className:"text-left",children:"Selecciona un jugador y asigna su número de camiseta."})]}),a.jsxs("div",{className:"flex flex-1 min-h-0 flex-col gap-4",children:[a.jsx("form",{onSubmit:j.handleSubmit(x),className:"space-y-4 shrink-0",children:a.jsxs("div",{className:"flex flex-col gap-4",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx(H,{control:j.control,name:"playerId",render:({field:l})=>a.jsx(pe,{items:N,getValue:u=>u.id,getLabel:u=>`${u.personal_data.surname}, ${u.personal_data.name}`,onValueChange:l.onChange,value:l.value,disabled:o.isPending,hasNextPage:d&&E,isFetchingNextPage:d&&I,onBottomReached:y,placeholder:"Seleccionar jugador"})}),j.formState.errors.playerId&&a.jsx("span",{className:"text-sm text-destructive",children:j.formState.errors.playerId.message})]}),a.jsxs("div",{className:"flex gap-3 items-start",children:[a.jsxs("div",{className:"flex flex-col gap-1 flex-1",children:[a.jsx(H,{control:j.control,name:"number",render:({field:l})=>a.jsx(ta,{placeholder:"Número de camiseta",type:"number",min:0,max:99,className:"text-muted-foreground text-sm",value:l.value,onChange:l.onChange,onBlur:l.onBlur,disabled:o.isPending})}),j.formState.errors.number&&a.jsx("span",{className:"text-sm text-destructive",children:j.formState.errors.number.message})]}),a.jsx(F,{type:"submit",size:"icon",disabled:o.isPending,className:"shrink-0",children:a.jsx(Ie,{})})]})]})}),a.jsx(Sa,{players:t})]}),a.jsx(ve,{children:a.jsx(F,{type:"button",onClick:()=>{c(),r(!1)},className:"w-full sm:w-auto",children:"Finalizar selección"})})]})]})},Sa=s=>{const e=R.c(12),{players:t}=s;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[{accessorKey:"player",header:"Jugador",cell:wa}],e[0]=n):n=e[0];const m=n,h=_a;let i,d;e[1]!==t.length?(i=a.jsxs("h3",{className:"text-sm font-medium text-foreground",children:["Seleccionados (",t.length,"/16)"]}),d=t.length>0&&a.jsx("span",{className:"text-xs text-muted-foreground",children:"Desliza para ver más"}),e[1]=t.length,e[2]=i,e[3]=d):(i=e[2],d=e[3]);let o;e[4]!==i||e[5]!==d?(o=a.jsxs("div",{className:"flex items-center justify-between shrink-0",children:[i,d]}),e[4]=i,e[5]=d,e[6]=o):o=e[6];let f;e[7]!==t?(f=a.jsx("div",{className:"flex-1 min-h-0",children:t.length===0?a.jsx(h,{}):a.jsx("div",{className:"overflow-y-auto h-full",children:a.jsx(fe,{columns:m,data:t})})}),e[7]=t,e[8]=f):f=e[8];let r;return e[9]!==o||e[10]!==f?(r=a.jsxs("div",{className:"flex flex-1 min-h-0 flex-col space-y-4",children:[o,f]}),e[9]=o,e[10]=f,e[11]=r):r=e[11],r};function wa(s){const{row:e}=s,t=e.original,n=`${t.player_name?.[0]??""}${t.player_surname?.[0]??""}`;return a.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground text-sm",children:[a.jsx("span",{className:"bg-primary size-8 rounded-full font-bold flex items-center justify-center text-foreground text-sm",children:t.number}),a.jsxs(B,{className:"h-8 w-8",children:[a.jsx(W,{src:t.player_avatar,alt:`${t.player_surname}, ${t.player_name}`,className:"object-cover"}),a.jsx(k,{className:"text-xs",children:n.toUpperCase()})]}),a.jsx("span",{children:`${t.player_surname}, ${t.player_name}`})]})}function _a(){return a.jsxs("div",{className:"p-8 text-center text-muted-foreground border rounded-md h-full",children:[a.jsx("div",{className:"w-12 h-12 mx-auto mb-3 bg-muted rounded-full flex items-center justify-center",children:a.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-label":"No hay jugadores seleccionados",role:"img",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z"})})}),a.jsx("p",{className:"text-sm",children:"No hay jugadores seleccionados"}),a.jsx("p",{className:"text-xs mt-1",children:"Agrega jugadores usando el formulario de arriba"})]})}
1export{Wa as A,Ee as M,ma as a,Ce as b,S as c,Ya as d,Ca as e,ga as f,Qa as g,Ga as n,ua as u};
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.