PageSourceSearch

https://club.touchtight.com/assets/PlayersV2-ClPk3X0l.js

js touchtight.com collected 2026-10-02 00:02:04 UTC 57,260 bytes, 12 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InviteParentModalV2-oAc9Rm7k.js","assets/react-vendor-DJtAp8P_.js","assets/index-CyS3LFy6.js","assets/apollo-DL0KWP0Y.js","assets/mui-styles-C9F12l22.js","assets/babel-helpers-D2wBBc1I.js","assets/index-CV9OfG1C.css","assets/index-Cor9x_UP.js","assets/popover-DQmY_bgT.js","assets/index-C53T7JDS.js","assets/floating-ui.dom-CpqR1Q5s.js","assets/checkbox-BCFY1QRf.js","assets/check-njpSxvzl.js","assets/input-CuTRSUQZ.js","assets/editable-input-BbmoAFqJ.js","assets/chevron-down-D9vZfud1.js","assets/index-CvVUxn0l.js","assets/mutation--iSLlBrt.js","assets/query-CcmDMjHA.js","assets/app-DT7WuczB.js","assets/dayjs-CFxoC4n5.js","assets/app-Cg4Kd3Rp.css","assets/importPlayersModal-DYgPJ7sB.js","assets/swiper-react-DcF17yCe.js","assets/SessionPlannerMobile-85wkJ1ZS.js","assets/mui-DvP2hOwX.js","assets/moment-Bj79pgB5.js","assets/Modal-BzPnYVEi.js","assets/Button-C4goEOKP.js","assets/imageOptimization-zUL1CBPb.js","assets/index.esm-CWqXbt53.js","assets/_baseClone-DByvJCmO.js","assets/_baseAssignValue-CjtYt4eh.js","assets/cloneDeep-mVQ3twB2.js","assets/Search-BEYvHCFs.js","assets/lodash-icp7yO-G.js","assets/merge-TfBrBrIh.js","assets/isArrayLikeObject-CcVCHQro.js","assets/map-BI8CQ8np.js","assets/browser-B3fhYDhb.js","assets/_arrayIncludes-DFQcso6E.js","assets/_baseIndexOf-DqPIyCu4.js","assets/hello-pangea-dnd-1bhs5THC.js","assets/some-YFJAbcVi.js","assets/values-DeBIqcD0.js","assets/index-B79atc36.js","assets/_baseDifference-BHjDay7E.js","assets/omit-BaIHraq0.js","assets/index-bEsv4Yks.js","assets/mui-x-DMY3qA32.js","assets/s3FileHandler-Bp64keCt.js","assets/compact-DZdspzxW.js","assets/swiper-react-CGdrHBuS.css","assets/evictPlayerCaches-DGsy6cw4.js","assets/isNumber-C5LS83rw.js","assets/BulkImportPlayersV2-BFq2mWKP.js","assets/players-import-BfGZvTEL.js","assets/index-Dji-P8Wa.js","assets/triangle-alert-BdPscC9S.js","assets/download-avhwAJjG.js","assets/file-spreadsheet-DIz94-rN.js","assets/StandardGate-LiLFonF_.js","assets/ManagePlayerModal-D7WZNLv4.js","assets/DatePicker-BFwkswR8.js","assets/DuplicateModal-EdzRJtPh.js","assets/UploadImage-DM9jg--i.js","assets/auth-DECj28bo.js","assets/index-CrwW5ro-.js","assets/subMonths-CpZP7vPB.js","assets/chevron-left-hHkvU2-n.js","assets/chevron-right-Bx281FLM.js","assets/index-DR3TqHo-.js","assets/imageUrl-gCnBcCAn.js","assets/uploadKey-ByIVd_Vz.js","assets/camera-ByDMTfQ8.js","assets/chevron-up-Cdk80VBZ.js","assets/index-CWCuEhaR.js","assets/PerformanceTrendChartV2-Dfzdi9cr.js","assets/select-BkBd-IXy.js","assets/index-DbR5jsy0.js","assets/index-CMsqgI2o.js","assets/plus-jTnJ9Ylg.js"])))=>i.map(i=>d[i]);
2import{ab as Ft,a8 as ms,g as fs,F as bs,d as hs,c as gs,u as ce,k as xs,J as ys,N as yt,ad as vs,aB as ks,_ as ue}from"./app-DT7WuczB.js";import{j as t,a as o}from"./react-vendor-DJtAp8P_.js";import{a as Oe}from"./tableColumnsActions-C5ZE-Z6V.js";import{u as Cs}from"./auth-DECj28bo.js";import{aa as Ps,ab as ws,a8 as js}from"./mutation--iSLlBrt.js";import{a as vt,e as Ss}from"./evictPlayerCaches-DGsy6cw4.js";import{C as Ns}from"./index-BHFF4lkW.js";import{p as Is}from"./players-import-BfGZvTEL.js";import{E as kt}from"./index-Dmrtjh9z.js";import{M as Ms}from"./index-CZ_8eCp1.js";import{U as _s}from"./index-Dg9Ob-9g.js";import{D as Ls}from"./DataTableC-Bjx5j7uG.js";import{G as Fs}from"./GridCardViewC-DDVO42jB.js";import{M as As}from"./index-Dz9DtQCq.js";import{r as Se,a as Os,aj as Es}from"./query-CcmDMjHA.js";import{bg as At,bq as Ds,br as Rs,bu as w,bw as Ot,b_ as Ts,a$ as Bs,bi as Vs,aT as Gs,bo as Us,bV as $s,aW as Ee,bY as Hs}from"./index-CyS3LFy6.js";import{Z as Re}from"./zap-BONeBcEP.js";import{I as Ge}from"./IconTooltipC-CIRgTaC1.js";import{C as qs}from"./check-njpSxvzl.js";import{U as Ys}from"./undo-2-D8Cv9fil.js";import{a as Et,b as Dt,c as Rt}from"./popover-DQmY_bgT.js";import{L as Qs}from"./list-filter-CFqa9hVM.js";import{D as Ks,a as Ws,b as Js,c as Ct}from"./dropdown-menu-Cf_HXWjm.js";import{C as Zs}from"./chevron-down-D9vZfud1.js";import{D as zs}from"./download-avhwAJjG.js";import{U as Xs}from"./upload-C-RVOicD.js";import{L as ea,M as ta}from"./index-qaHslVcQ.js";import{R as sa}from"./ResponsiveHeaderSearchV2-kPbhCxyW.js";import{L as Pt}from"./list-Bn_teG-D.js";import{L as wt}from"./layout-grid-71yoZBL3.js";import{P as Te}from"./plus-jTnJ9Ylg.js";import{E as aa}from"./ellipsis-BPffiR7H.js";import{C as jt}from"./columns-3--UrfKVY2.js";import{A as St}from"./arrow-up-down-Cyob2fWI.js";import{A as ra}from"./arrow-up-Bnsw1-8C.js";import{A as na}from"./arrow-down-oYUkFNnA.js";import{u as oa}from"./useDragScroll-DS-iG0FP.js";import{i as Nt,u as ia,a as la,s as da,g as ca,b as pa,c as ua,D as ma}from"./playerConstantsV2-BrKcNBVo.js";import{n as Be,u as fa,e as De}from"./apollo-DL0KWP0Y.js";import{f as ba}from"./flatMap-DZaaYYaA.js";import{d as me}from"./deferModal-CzRxSbHe.js";import{y as ha}from"./mui-styles-C9F12l22.js";import{u as ga}from"./mui-DvP2hOwX.js";import{S as xa}from"./search-x-Dd8McuQW.js";import{F as ya}from"./file-spreadsheet-DIz94-rN.js";import{T as It}
2from"./trash-2-B3r-aJQU.js";import{P as va}from"./pencil-D2T7VuLA.js";import{C as ka}from"./copy-JbrY5-sx.js";import"./babel-helpers-D2wBBc1I.js";import"./dayjs-CFxoC4n5.js";import"./moment-Bj79pgB5.js";import"./triangle-alert-BdPscC9S.js";import"./hello-pangea-dnd-1bhs5THC.js";import"./grip-vertical-B3X-bmLk.js";import"./arrow-up-right-BHTble7A.js";import"./checkbox-BCFY1QRf.js";import"./index-C53T7JDS.js";import"./floating-ui.dom-CpqR1Q5s.js";import"./lock-BhACGXRx.js";import"./chevron-up-Cdk80VBZ.js";import"./funnel-CHKnj2yC.js";import"./ellipsis-vertical-EfBRlYg5.js";import"./dugoutCardStyles-CSt8DeWU.js";import"./tooltip-BAn5bXOX.js";import"./index-CMsqgI2o.js";import"./index-DbR5jsy0.js";import"./chevron-right-Bx281FLM.js";import"./arrow-left-D2QUTCdL.js";import"./getAvailabilityIndicator-DUBCZiSu.js";import"./index-DFAqAA9H.js";import"./imageOptimization-zUL1CBPb.js";import"./select-BkBd-IXy.js";import"./InsightTooltipWrap-DtjEWBCk.js";import"./lightbulb-CluGZi-m.js";import"./star-DNcD-a5x.js";import"./trending-up-CYMXBtcN.js";import"./index-u7ctmdfL.js";import"./TeamCrestFallback-CFcPR2Qo.js";import"./imageUrl-gCnBcCAn.js";import"./InlineSelectC-Dv7sH9m1.js";import"./AvatarNameCellC-DaciOyPa.js";import"./TextCellC-_D8K2CVP.js";import"./NumericCellC-BVdwnswH.js";import"./playerInsights-Ccdm7rok.js";import"./map-BI8CQ8np.js";try{let s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new s.Error().stack;r&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[r]="3f178251-7d26-466b-bde9-1e5a6e9aa596",s._sentryDebugIdIdentifier="sentry-dbid-3f178251-7d26-466b-bde9-1e5a6e9aa596")}catch{}/**
3 * @license lucide-react v1.31.0 - ISC
4 *
5 * This source code is licensed under the ISC license.
6 * See the LICENSE file in the root directory of this source tree.
7 */const Ca=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]],Mt=At("git-compare",Ca);/**
8 * @license lucide-react v1.31.0 - ISC
9 *
10 * This source code is licensed under the ISC license.
11 * See the LICENSE file in the root directory of this source tree.
12 */const Pa=[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M16 19h6",key:"xwg31i"}]],wa=At("mail-plus",Pa),ja=({open:s,onClose:r,onConfirm:d,loading:i,seasonLabel:p,playerCount:x})=>t.jsx(Ds,{open:s,onOpenChange:h=>h?null:r(),children:t.jsxs(Rs,{className:w("max-w-[520px] p-0 gap-0","bg-bg-raised text-fg font-body","border border-tt-border border-l-2 border-l-warn rounded-[3px]","shadow-[0_30px_80px_rgba(0,0,0,0.65),0_8px_24px_rgba(0,0,0,0.45)]"),children:[t.jsxs("div",{className:"px-6 pt-6 pb-3",children:[t.jsx("h2",{className:"font-head text-[22px] font-bold uppercase tracking-wide2 leading-[1.05] text-fg",children:"Set baseline skill scores"}),t.jsxs("p",{className:"mt-3 text-[13px] text-muted leading-[1.5]",children:["This bulk-creates a starting skill score of ",t.jsx("span",{className:"font-head text-fg",children:"7 / 10"})," ","across the 6 axes (PAS · FIN · DEF · BM · P/S · PHY) for any player who has none. Existing scores stay untouched."]})]}),t.jsxs("div",{className:"mx-6 mb-4 grid grid-cols-2 gap-3 rounded-sm border border-hairline bg-card p-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent-2",children:"Season"}),t.jsx("div",{className:"mt-1 font-head text-[13px] font-bold uppercase tracking-wide2 text-fg",children:p??"Current"})]}),t.jsxs("div",{children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent-2",children:"Score"}),t.jsx("div",{className:"mt-1 font-head text-[13px] font-bold uppercase tracking-wide2 text-fg",children:"7 / 10"})]}),x!=null?t.jsxs("div",{children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent-2",children:"New scores"}),t.jsxs("div",{className:"mt-1 font-head text-[13px] font-bold uppercase tracking-wide2 text-fg",children:[x," players touched"]})]}):null,t.jsxs("div",{children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent-2",children:"Undo window"}),t.jsx("div",{className:"mt-1 font-head text-[13px] font-bold uppercase tracking-wide2 text-fg",children:"60 seconds · one-click"})]})]}),t.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-hairline px-6 py-3 bg-card",children:[t.jsx("button",{type:"button",onClick:r,disabled:i,className:w("h-8 px-3 inline-flex items-center rounded-sm border border-hairline bg-bg","font-head text-[11px] font-bold uppercase tracking-wide10 text-fg hover:bg-card-hi",i&&"opacity-50 cursor-not-allowed"),children:"Cancel"}),t.jsxs(Ot,{onClick:d,disabled:i,className:"h-8 px-4 gap-1.5 rounded-sm bg-warn text-bg font-head text-[11px] font-bold uppercase tracking-wide10 hover:brightness-110 hover:bg-warn",children:[t.jsx(Re,{className:"h-3.5 w-3.5"}),i?"Setting…":"Set Baseline →"]})]})]})}),Sa=({open:s,createdCount:r,onUndo:d,onDismiss:i,totalSeconds:p=60})=>
12{const[x,h]=o.useState(p);if(o.useEffect(()=>{if(!s){h(p);return}h(p);const u=Date.now(),v=setInterval(()=>{const n=Math.floor((Date.now()-u)/1e3),C=Math.max(0,p-n);h(C),C===0&&clearInterval(v)},500);return()=>clearInterval(v)},[s,p]),!s)return null;const y=x/p*100;return t.jsxs("div",{role:"status","aria-live":"polite",className:w("fixed top-4 right-4 z-[60] w-[420px]","rounded-sm border border-ok/40 bg-bg-raised text-fg","shadow-[0_12px_36px_rgba(0,0,0,0.55)]","font-body"),children:[t.jsxs("div",{className:"flex items-start gap-3 px-4 py-3",children:[t.jsx("span",{className:"h-5 w-5 shrink-0 inline-flex items-center justify-center rounded-full bg-ok/15 text-ok",children:t.jsx(qs,{className:"h-3 w-3"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"font-mono text-[10px] uppercase tracking-wide12 text-ok",children:["Baseline set · ",r," player",r===1?"":"s"," · 7 / 10"]}),t.jsx("div",{className:"mt-0.5 text-[12.5px] text-fg leading-[1.4]",children:"Skill scores created. Existing scores untouched."}),t.jsxs("div",{className:"mt-2 font-mono text-[9.5px] uppercase tracking-wide12 text-muted",children:["Undo window · ",x,"s remaining"]})]}),t.jsxs("button",{type:"button",onClick:d,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-sm border border-accent bg-accent/10","font-head text-[10px] font-bold uppercase tracking-wide10 text-accent hover:bg-accent/15"),children:[t.jsx(Ys,{className:"h-3 w-3"}),"Undo"]})]}),t.jsx("div",{className:"h-0.5 bg-bg overflow-hidden",children:t.jsx("div",{className:"h-full bg-ok transition-[width] duration-500 ease-linear",style:{width:`${y}%`}})}),i?t.jsx(Ge,{label:"Dismiss",children:t.jsx("button",{type:"button",onClick:i,"aria-label":"Dismiss",className:"absolute top-2 right-2 h-5 w-5 inline-flex items-center justify-center text-subtle hover:text-fg",children:"×"})}):null]})},Na=[{value:"player",label:"Player"},{value:"parent",label:"Parent"},{value:"coach",label:"Coach"}],Ia=[{value:null,label:"All"},{value:"linked",label:"Linked"},{value:"pending",label:"Pending"},{value:"none",label:"None"}],_t=({value:s,onChange:r})=>t.jsx("div",{className:"mt-2 inline-flex rounded-sm border border-hairline overflow-hidden",children:["all","with","without"].map(d=>{const i=d==="all"&&s===null||d!=="all"&&s===d,p={all:"All",with:"With",without:"Without"};return t.jsx("button",{type:"button",onClick:()=>r(d==="all"?null:d),className:w("h-7 px-3 font-head text-[10px] font-bold uppercase tracking-wide10 transition-colors",i?"bg-accent-2/10 text-accent-2":"bg-bg text-muted hover:text-fg"),children:p[d]},d)})}),Ma=({value:s,options:r,onChange:d})=>t.jsx("div",{className:"mt-2 flex flex-wrap gap-1",children:r.map(i=>{const p=s===i.value;return t.jsx("button",{type:"button",onClick:()=>d(i.value),className:w("h-7 px-3 rounded-sm border font-head text-[10px] font-bold uppercase tracking-wide10 transition-colors",p?"border-accent-2 bg-accent-2/10 text-accent-2":"border-hairline bg-bg text-muted hover:text-fg"),children:i.label},i.label)})}),_a=({value:s,options:r,onToggle:d})=>t.jsx("div",{className:"mt-2 flex flex-wrap gap-1",children:r.map(i=>{const p=s.includes(i.value);return t.jsx("button",{type:"button","aria-pressed":p,onClick:()=>d(i.value),className:w("h-7 px-3 rounded-sm border font-head text-[10px] font-bold uppercase tracking-wide10 transition-colors",p?"border-accent-2 bg-accent-2/10 text-accent-2":"border-hairline bg-bg text-muted hover:text-fg"),children:i.label},i.value)})}),La=({objectivesFilter:s,videoFilter:r,feedbackFilter:d,parentLinkFilter:i,onApply:p,badgeCount:x})=>{const[h,y]=o.useState(!1),[u,v]=o.useState(s),[n,C]=o.useState(r),[N,m]=o.useState(d),[c,F]=o.useState(i);o.useEffect(()=>{h&&(v(s),C(r),m(d),F(i))},[h,s,r,d,i]);const L=f=>{m(j=>j.includes(f)?j.filter(_=>_!==f):[...j,f])},P=()=>{p(u,n,N,c),y(!1)},I=()=>{v(null),C(null),m([]),F(null)},M=()=>{v(s),C(r),m(d),F(i),y(!1)};return t.jsxs(Et,{open:h,onOpenChange:y,children:[t.jsx(Dt,{asChild:!0,children:t.jsxs("button",{type:"button","aria-label":"Filter",className:w("h-8 inline-flex items-center gap-1.5 px-3 rounded-sm relative transition-colors","font-head text-[12px] font-bold uppercase tracking-wide10",x>0?"bg-accent-2/10 border border-accent-2 text-accent-2":"bg-bg border border-hairline text-fg hover:border-border hover:bg-card-hi"),children:[t.jsx(Qs,{className:"h-3.5 w-3.5"}),"Filter",x>0?t.jsx("span",{className:"absolute -top-1.5 -right-1.5 h-4 min-w-4 px-1 bg-accent-2 text-bg font-mono text-[9.5px] font-bold rounded-sm inline-flex items-center justify-center",children:x}):null]})}),t.jsxs(Rt,{side:"bottom",align:"end",className:"w-[260px] p-0 bg-bg-raised border border-tt-border font-body",children:[t.jsxs("div",{className:"px-3 pt-3 pb-2 border-b border-hairline",children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent",children:"Objectives"}),t.jsx(_t,{value:u,onChange:v})]}),t.jsxs("div",{className:"px-3 pt-3 pb-2 border-b border-hairline",children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent",children:"Video"}),t.jsx(_t,{value:n,onChange:C})]}),t.jsxs("div",{className:"px-3 pt-3 pb-2 border-b border-hairline",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent",children:"Feedback"}),t.jsx("div",{className:"font-mono text-[9px] uppercase tracking-wide12 text-subtle",children:N.length>0?`${N.length} · all match`:"Any"})]}),t.jsx(_a,{value:N,options:Na,onToggle:L})]}),t.jsxs("div",{className:"px-3 pt-3 pb-2 border-b border-hairline",children:[t.jsx("div",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent",children:"Parent"}),t.jsx(Ma,{value:c,options:Ia,onChange:F})]}),t.jsx("div",{className:"px-3 py-2 font-mono text-[10px] uppercase tracking-wide12 text-subtle border-b border-hairline",children:"Position + Date filters live in the top chip strip and date pill."}),t.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-card",children:[t.jsx("button",{type:"button",onClick:I,className:"font-head text-[10px] font-bold uppercase tracking-wide10 text-muted hover:text-fg",children:"Clear"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{type:"button",onClick:M,className:w("h-7 px-3 inline-flex items-center rounded-sm border border-hairline bg-bg","font-head text-[10px] font-bold uppercase tracking-wide10 text-fg hover:bg-card-hi"),children:"Cancel"}),t.jsx(Ot,{onClick:P,className:"h-7 px-3 rounded-sm bg-accent-2 text-bg font-head text-[10px] font-bold uppercase tracking-wide10 hover:brightness-110",children:"Apply"})]})]})]})]})},Fa=({onDownloadTemplate:s,onOpenImport:r,isReadOnlyMode:d})=>t.jsxs(Ks,{children:[t.jsx(Ge,{label:"Import / Export",children:t.jsx(Ws,{asChild:!0,children:t.jsxs("button",{type:"button","aria-label":"Import / Export",className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-sm border border-hairline bg-bg","font-head text-[11px] font-bold uppercase tracking-wide10 text-fg hover:bg-card-hi"),children:["Import",t.jsx(Zs,{className:"h-3 w-3 opacity-70"})]})})}),t.jsxs(Js,{align:"end",className:"min-w-[180px] bg-bg-raised border border-tt-border font-body",children:[t.jsxs(Ct,{onSelect:s,className:"inline-flex items-center gap-2 font-body text-[12px] text-fg cursor-pointer focus:bg-card-hi",children:[t.jsx(zs,{className:"h-3.5 w-3.5 text-muted"}),"Download Template"]}),d?null:t.jsxs(Ct,{onSelect:r,className:"inline-flex items-center gap-2 font-body text-[12px] text-fg cursor-pointer focus:bg-card-hi",children:[t.jsx(Xs,{className:"h-3.5 w-3.5 text-muted"}),"Import Players"]})]})]}),Aa=({isMobile:s=!1,count:r,totalCount:d,countLoading:i=!1,searchValue:p,onSearchChange:x,view:h,onViewChange:y,isCompareMode:u,onToggleCompareMode:v,sortMenu:n,filterMenu:C,importExportMenu:N,onOpenColumns:m,onOpenBaselineModal:c,onAddPlayer:F,disableBaseline:L,disableAdd:P})=>
12{const[I,M]=o.useState(!1),f=t.jsxs("div",{className:"inline-flex h-8 items-stretch overflow-hidden rounded-[2px] border border-hairline bg-bg",children:[t.jsx("button",{type:"button",onClick:()=>y("list"),"aria-label":"List view","aria-pressed":h==="list",className:w("inline-flex items-center px-2.5 outline-none focus-visible:ring-[3px] focus-visible:ring-focus",h==="list"?"bg-card-hi text-fg":"text-muted hover:bg-card-hi"),children:t.jsx(Pt,{className:"h-3.5 w-3.5"})}),t.jsx("button",{type:"button",onClick:()=>y("grid"),"aria-label":"Grid view","aria-pressed":h==="grid",className:w("inline-flex items-center px-2.5 outline-none focus-visible:ring-[3px] focus-visible:ring-focus",h==="grid"?"bg-card-hi text-fg":"text-muted hover:bg-card-hi"),children:t.jsx(wt,{className:"h-3.5 w-3.5"})})]});return s?t.jsx(ea,{title:"Players",count:i&&!(d||r)?null:t.jsxs("span",{className:"font-head text-[15px] font-bold leading-[1] text-fg",children:["(",d||r,")"]}),searchValue:p,onSearchChange:x,searchPlaceholder:"Search players…",searchAriaLabel:"Search players",controls:t.jsxs(t.Fragment,{children:[n,C,f,t.jsx(Ge,{label:I?"Hide tools":"More tools",children:t.jsx("button",{type:"button","aria-label":"More tools","aria-pressed":I,onClick:()=>M(j=>!j),className:w(ta,I&&"bg-card-hi text-fg"),children:t.jsx(aa,{className:"h-3.5 w-3.5"})})}),I?t.jsxs(t.Fragment,{children:[t.jsxs("button",{type:"button","aria-label":"Customise columns",onClick:m,className:w("h-8 inline-flex items-center gap-1.5 px-3 rounded-[2px] border border-hairline bg-bg","font-head text-[11px] font-bold uppercase tracking-wide10 text-fg hover:border-tt-border hover:bg-card-hi"),children:[t.jsx(jt,{className:"h-3.5 w-3.5"}),"Columns"]}),t.jsxs("button",{type:"button","aria-label":"Compare mode","aria-pressed":u,onClick:v,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-[2px] border transition-colors","font-head text-[11px] font-bold uppercase tracking-wide10",u?"bg-accent/10 border-accent text-accent":"bg-bg border-hairline text-muted hover:border-tt-border hover:text-fg"),children:[t.jsx(Mt,{className:"h-3.5 w-3.5"})," Compare"]}),N,t.jsxs("button",{type:"button",onClick:c,disabled:L,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-[2px] border","font-head text-[11px] font-bold uppercase tracking-wide10",L?"border-hairline text-subtle cursor-not-allowed":"border-hairline bg-bg text-fg hover:border-tt-border hover:bg-card-hi"),children:[t.jsx(Re,{className:"h-3.5 w-3.5"})," Set Baseline"]})]}):null]}),primaryAction:t.jsxs("button",{type:"button","data-tour-id":"players-add",onClick:F,disabled:P,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-[2px]","font-head text-[11px] font-bold uppercase tracking-wide10",P?"bg-hairline text-subtle cursor-not-allowed":"bg-accent text-bg hover:brightness-110"),children:[t.jsx(Te,{className:"h-3.5 w-3.5"})," Add Player"]})}):t.jsx("div",{className:"border-b border-hairline px-7 py-4",children:t.jsxs("div",{className:"dugout-list-header-layout",children:[t.jsx("div",{className:"flex items-end gap-4",children:t.jsxs("div",{className:"flex items-baseline gap-3",children:[t.jsx("h1",{className:"font-head text-[36px] font-bold uppercase tracking-wide2 leading-[1] text-fg",children:"Players"}),i&&!(d||r)?null:t.jsxs("span",{className:"font-head text-[18px] font-bold leading-[1] text-fg",children:["(",d||r,")"]})]})}),t.jsxs("div",{className:"dugout-list-header-controls","data-dugout-header-controls":"players",children:[t.jsx(sa,{value:p,onChange:x,placeholder:"Search players…",ariaLabel:"Search players"}),n,C,t.jsxs("button",{type:"button","aria-label":"Customise columns",onClick:m,className:w("h-8 inline-flex items-center gap-1.5 px-3 rounded-sm border border-hairline bg-bg","font-head text-[11px] font-bold uppercase tracking-wide10 text-fg hover:border-border hover:bg-card-hi"),children:[t.jsx(jt,{className:"h-3.5 w-3.5"}),"Columns"]}),t.jsxs("button",{type:"button","aria-label":"Compare mode","aria-pressed":u,onClick:v,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-sm border transition-colors","font-head text-[11px] font-bold uppercase tracking-wide10",u?"bg-accent/10 border-accent text-accent":"bg-bg border-hairline text-muted hover:border-border hover:text-fg"),children:[t.jsx(Mt,{className:"h-3.5 w-3.5"})," Compare"]}),t.jsxs("div",{className:"inline-flex h-8 items-center rounded-sm border border-hairline bg-bg",children:[t.jsxs("button",{type:"button",onClick:()=>y("list"),className:w("h-full px-2.5 inline-flex items-center gap-1.5 rounded-[2px]","font-head text-[10px] font-bold uppercase tracking-wide10",h==="list"?"bg-card-hi text-fg":"text-muted hover:text-fg"),children:[t.jsx(Pt,{className:"h-3 w-3"})," List"]}),t.jsxs("button",{type:"button",onClick:()=>y("grid"),className:w("h-full px-2.5 inline-flex items-center gap-1.5 rounded-[2px]","font-head text-[10px] font-bold uppercase tracking-wide10",h==="grid"?"bg-card-hi text-fg":"text-muted hover:text-fg"),children:[t.jsx(wt,{className:"h-3 w-3"})," Grid"]})]}),t.jsx("div",{className:"w-px h-5 bg-hairline mx-1"}),N,t.jsxs("button",{type:"button",onClick:c,disabled:L,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-sm border","font-head text-[11px] font-bold uppercase tracking-wide10",L?"border-hairline text-subtle cursor-not-allowed":"border-hairline bg-bg text-fg hover:border-border hover:bg-card-hi"),children:[t.jsx(Re,{className:"h-3.5 w-3.5"})," Set Baseline"]}),t.jsxs("button",{type:"button","data-tour-id":"players-add",onClick:F,disabled:P,className:w("h-8 px-3 inline-flex items-center gap-1.5 rounded-sm","font-head text-[11px] font-bold uppercase tracking-wide10",P?"bg-hairline text-subtle cursor-not-allowed":"bg-accent text-bg hover:brightness-110"),children:[t.jsx(Te,{className:"h-3.5 w-3.5"})," Add Player"]})]})]})})},Oa=[{key:"all",label:"All"},{key:"goalkeeper",label:"Goalkeepers"},{key:"defender",label:"Defenders"},{key:"midfielder",label:"Midfielders"},{key:"forward",label:"Forwards"},{key:"none",label:"No Position"}],Ea=({positionCounts:s,activeKeys:r,onToggle:d,onClear:i,countLoading:p=!1})=>{const h={all:s.goalkeepers+s.defenders+s.midfielders+s.forwards+s.unassigned,goalkeeper:s.goalkeepers,defender:s.defenders,midfielder:s.midfielders,forward:s.forwards,none:s.unassigned},y=r.length>0&&!(r.length===1&&r[0]==="all");return t.jsxs("div",{className:"flex items-center gap-2 border-b border-hairline bg-bg px-7 py-3 overflow-x-auto",children:[t.jsx("span",{className:"hidden sm:inline font-mono text-[10px] uppercase tracking-wide12 text-subtle shrink-0",children:"Filter by position ·"}),Oa.map(u=>{const v=u.key==="all",n=v?!y:r.includes(u.key);return t.jsxs("button",{type:"button",onClick:()=>v?i():d(u.key),className:w("h-8 px-3.5 inline-flex items-center gap-2 rounded-full border shrink-0","font-head font-bold text-[11px] tracking-wide10 uppercase transition-colors",n?"bg-accent-2/10 border-accent-2 text-accent-2":"bg-card border-hairline text-muted hover:border-border hover:text-fg"),children:[t.jsx("span",{children:u.label}),p&&!h.all?null:t.jsx("span",{className:w("font-mono text-[9.5px] font-semibold px-1.5 rounded",n?"text-accent-2 bg-accent-2/12":"text-subtle bg-bg-raised"),children:h[u.key]})]},u.key)}),y?t.jsx("button",{type:"button",onClick:i,className:"ml-auto shrink-0 font-mono text-[10px] tracking-wide12 uppercase text-accent-2 hover:brightness-110",children:"Clear ×"}):null]})},Da=[{id:"name",label:"Player name"},{id:"squadNo",label:"Squad number"},{id:"firstPosition",label:"First position"},{id:"secondPosition",label:"Second position"},{id:"availability",label:"Availability"},{id:"team",label:"Team"},{id:"ageGroup",label:"Age group"},{id:"rating",label:"Match rating"},{id:"skillRating",label:"Skill rating"},{id:"minutes",label:"Minutes"},{id:"games",label:"Games played"},{id:"goals",label:"Goals"},{id:"assists",label:"Assists"},{id:"starPlayer",label:"Star Player"},{id:"attendance",label:"Attendance %"},{id:"objectives",label:"Objectives count"},{id:"feedback",label:"Feedback"},{id:"parentLink",label:"Parent"},{id:"dob",label:"Date of birth"},{id:"createdAt",label:"Date created"}],Ra=({sorting:s,sortOrder:r,onSelect:d})=>
12{const[i,p]=o.useState(!1);return t.jsxs(Et,{open:i,onOpenChange:p,children:[t.jsx(Dt,{asChild:!0,children:t.jsxs("button",{type:"button","aria-label":"Sort",className:w("h-8 inline-flex items-center gap-1.5 px-3 rounded-sm transition-colors","bg-bg border border-hairline font-head text-[12px] font-bold uppercase tracking-wide10 text-fg hover:border-border hover:bg-card-hi"),children:[t.jsx(St,{className:"h-3.5 w-3.5"}),"Sort"]})}),t.jsx(Rt,{side:"bottom",align:"end",className:"w-[260px] p-2 bg-bg-raised border border-tt-border font-body",children:t.jsx("div",{className:"flex flex-col",children:Da.map(x=>{const h=!!s[x.id],y=h?r==="asc"?ra:na:St;return t.jsxs("button",{type:"button",onClick:()=>{d(x.id)},className:w("flex items-center justify-between gap-2 px-2 py-1.5 rounded-sm","font-body text-[12px] text-left transition-colors",h?"bg-card-hi text-fg":"text-muted hover:bg-card-hi hover:text-fg"),children:[t.jsx("span",{children:x.label}),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[h?t.jsx("span",{className:"font-mono text-[9.5px] uppercase tracking-wide12 text-accent-2",children:r}):null,t.jsx(y,{className:w("h-3 w-3",h?"text-accent-2":"text-subtle")})]})]},x.id)})})})]})},Ta=({chips:s,onClickChip:r})=>{const d=oa({allowInteractive:!0});return s.length===0?null:t.jsx("div",{className:"border-b border-hairline",children:t.jsx("div",{ref:d.ref,onPointerDown:d.onPointerDown,onPointerMove:d.onPointerMove,onPointerUp:d.onPointerUp,onPointerCancel:d.onPointerUp,onClickCapture:d.onClickCapture,className:w("overflow-x-auto scrollbar-thin-c py-3",d.isOverflowing&&"cursor-grab"),children:t.jsxs("div",{className:"flex min-w-max items-stretch gap-2 pl-4 tab:pl-7",children:[s.map(i=>{const p=i.kind==="performance"?"text-accent-2":"text-accent",x=`${i.player.name??""} ${i.player.surname??""}`.trim();return t.jsxs("button",{type:"button",onClick:()=>r==null?void 0:r(i.player.id),className:w("group w-[160px] shrink-0 rounded-sm border border-hairline bg-card px-3 py-2.5 text-left outline-none","cursor-pointer transition-all duration-150","hover:bg-card-hi hover:border-accent-2 hover:scale-[1.04]","focus-visible:ring-[3px] focus-visible:ring-focus"),children:[t.jsx("div",{className:w("font-mono text-[9px] uppercase tracking-wide12",p),children:i.label}),t.jsx("div",{className:"mt-1 truncate font-head text-[14px] font-bold uppercase tracking-wide2 text-fg transition-colors group-hover:text-accent-2",children:x||"—"}),t.jsx("div",{className:"mt-0.5 truncate font-mono text-[11px] uppercase tracking-wide10 text-muted transition-colors group-hover:text-fg",children:i.value})]},i.key)}),t.jsx("div",{"aria-hidden":!0,className:"w-4 tab:w-7 shrink-0"})]})})})};function Ba(s){const{clubId:r,seasonId:d,onSuccess:i,onRevert:p,sendNotification:x}=s,[h,y]=o.useState(!1),[u,v]=o.useState(null),[n,C]=o.useState(!1),[N]=Be(Ps,{update:vt}),[m]=Be(ws,{update:vt}),c=o.useCallback(async()=>{var L,P,I;if(!r){x({msg:"Could not determine club id. Please try refreshing.",variant:"error"});return}if(!d){x({msg:"Pick a specific season (not All Seasons) before baselining.",variant:"error"});return}y(!0);try{const M=await N({variables:{club_id:r,season_id:d,score:7}}),f=(L=M==null?void 0:M.data)==null?void 0:L.setBaselineSkillScores;if(f!=null&&f.status){x({msg:f.message||"Baseline scores set across all players.",variant:"success"}),i==null||i();try{const j=f.data?JSON.parse(f.data):null;j&&((P=j.createdIds)!=null&&P.length||(I=j.updatedFromZeroIds)!=null&&I.length)&&(v(j),setTimeout(()=>v(null),6e4))}catch{}}else x({msg:(f==null?void 0:f.message)||"Could not set baseline scores. Has the backend been restarted?",variant:"error"})}catch(M){const f=M;console.error("[setBaselineSkillScores]",f),x({msg:f.message||"Could not set baseline scores. Check the browser console.",variant:"error"})}y(!1),C(!1)},[r,d,x,N,i]),F=o.useCallback(async()=>{var L;if(u){try{const P=await m({variables:{createdIds:u.createdIds||[],updatedFromZeroIds:u.updatedFromZeroIds||[]}}),I=(L=P==null?void 0:P.data)==null?void 0:L.revertBaselineSkillScores;I!=null&&I.status?(x({msg:I.message||"Baseline reverted.",variant:"success"}),p==null||p()):x({msg:(I==null?void 0:I.message)||"Could not revert.",variant:"error"})}catch(P){const I=P;console.error("[revertBaselineSkillScores]",I),x({msg:I.message||"Could not revert.",variant:"error"})}v(null)}},[u,m,x,p]);return{baselineLoading:h,baselineUndoIds:u,baselineModalOpen:n,setBaselineModalOpen:C,handleSetBaselineScores:c,handleRevertBaselineScores:F}}const Va={name:"name",team:"team",firstPosition:"position",dob:"dob",availability:"availability",createdAt:"createdAt"};function Ve(s,r){var y,u;const d=ba(s.playerFilterChip,"positionIds"),i=s.playerFilterChip.some(v=>v.noPosition),p=(y=Object.entries({...Bs,...Ts}).find(([,v])=>v.label===s.appearanceValue))==null?void 0:y[0],x=s.sortColumn?Va[s.sortColumn]:void 0,h=x??p;
12return{playersListWithDetailsInput:{teamIds:(u=s.selectedTeams)!=null&&u.length?s.selectedTeams:[],filters:{positionIds:d.length?d:[],...i&&{noPosition:!0}},playerName:r,sortBy:h,...x&&s.sortDirection?{sortOrder:s.sortDirection}:{},offset:s.page*s.rowsPerPage,limit:s.rowsPerPage,...s.isAllSeasonSelected?{}:{season_id:s.currentSeasonId},includeRelations:!0}}}function Ga(s,r,d){try{const i=Ve(r,d);return s.readQuery({query:Se,variables:i})!=null}catch{return!1}}const Tt={goalkeepers:0,defenders:0,midfielders:0,forwards:0,unassigned:0};function Lt(s,r){var x,h;if(!(s!=null&&s.success)||!Array.isArray(s.data))return null;const d=((x=s.metadata)==null?void 0:x.totalPlayers)??0,i=((h=s.metadata)==null?void 0:h.positionCounts)??Tt;return{allPlayers:s.data.map(y=>{var P,I,M;const u=y.playerDetails??{},v=y.playerPerformance??{},n=ms([v],u.id,r!=null&&r.length?r:[]),C=Object.values(v.playerStats||{}).flatMap(f=>(f==null?void 0:f.fixtureBreakdown)||[]).sort((f,j)=>(j.date||0)-(f.date||0)),N=Date.now(),m=C.filter(f=>{const j=typeof f.date=="number"?f.date:0;return!j||j>N?!1:typeof f.minutes=="number"&&f.minutes>0||typeof f.rating=="number"&&f.rating>0||typeof f.goals=="number"&&f.goals>0||typeof f.assists=="number"&&f.assists>0}),c=f=>m.reduce((j,_)=>j+(Number(_[f])||0),0),F=m.filter(f=>typeof f.rating=="number"&&f.rating>0),L=F.length?(F.reduce((f,j)=>f+j.rating,0)/F.length).toFixed(2):0;return{...y,id:u.id,teamIds:u.teamIds,name:u.name,surname:u.surname,playerImage:u.image,availability:u.availability,firstPosition:u.firstPosition,secondPosition:u.secondPosition,nationality:u.nationality,ageGroup:u.ageGroup,height:u.height,weight:u.weight,games:m.length,goals:c("goals"),assists:c("assists"),rating:L,cleanSheetCount:((P=n==null?void 0:n.cleanSheetCount)==null?void 0:P.value)??0,minutes:c("minutes"),topPlayerCount:((I=n==null?void 0:n.topPlayer)==null?void 0:I.value)??0,red:c("red"),yellow:c("yellow"),attendance:((M=n==null?void 0:n.sessionsAttendancePercentage)==null?void 0:M.value)??null,fixtureBreakdown:m,sessionStreak:y.sessionStreak||0,hasVideo:u.hasVideo??!1,videoCount:u.videoCount??0,parentLink:y.parentLink,feedback:y.feedback}}),playerRecordCount:d,positionCounts:i}}function Ua(s){const{page:r,rowsPerPage:d,searchQuery:i,appearanceValue:p,selectedTeams:x,isAllSeasonSelected:h,currentSeasonId:y,playerFilterChip:u,sortColumn:v,sortDirection:n}=s,C=fa(),N=o.useRef(null);if(N.current===null){let T=null;try{const ie=Ve(s,i),J=C.readQuery({query:Se,variables:ie});T=J?Lt(J.playersListWithDetails,s.selectedTeams):null}catch{T=null}N.current=T?{...T,loading:!1}:{allPlayers:[],playerRecordCount:0,positionCounts:Tt,loading:!0}}const m=N.current,[c,F]=o.useState(m.allPlayers),[L,P]=o.useState(m.playerRecordCount),[I,M]=o.use
12State(m.positionCounts),[f,j]=o.useState(m.loading),_=o.useRef(null),R=o.useRef(0),K=o.useRef(s);o.useEffect(()=>{K.current=s},[s]);const W=o.useCallback(async(T="",ie={})=>{var q,be,z;const J=ie.silent??!1,$=K.current;_.current&&(_.current.abort(),_.current=null),R.current+=1;const se=R.current,fe=JSON.stringify((q=$.selectedTeams)!=null&&q.length?$.selectedTeams:[]),H=new AbortController;_.current=H;const Z=Ve($,T);let le=!1;if(!J)try{le=C.readQuery({query:Se,variables:Z})!=null}catch{le=!1}!J&&!le&&j(!0);try{const X=await C.query({query:Se,variables:Z,fetchPolicy:"cache-first",context:{fetchOptions:{signal:H.signal}}}),V=JSON.stringify((be=K.current.selectedTeams)!=null&&be.length?K.current.selectedTeams:[]);if(R.current!==se||H.signal.aborted||fe!==V)return;const Y=(z=X==null?void 0:X.data)==null?void 0:z.playersListWithDetails,G=Lt(Y,$.selectedTeams);if(!G)return;R.current===se&&!H.signal.aborted&&(F(G.allPlayers),P(G.playerRecordCount),M(G.positionCounts))}catch(X){const V=X;if(V.name==="AbortError"||H.signal.aborted)return;R.current===se&&console.error("[useClubPlayers] fetch error:",V)}finally{R.current===se&&_.current===H&&(j(!1),_.current=null)}},[C]),oe=o.useMemo(()=>Ft(T=>W(T),250),[W]),B=o.useRef(!0);return o.useEffect(()=>{if(B.current){if(B.current=!1,!m.loading)return;W(i);return}return Ga(C,s,i)||j(!0),oe(i),()=>oe.cancel()},[oe,W,m.loading,r,d,i,p,h,y,JSON.stringify(x??[]),JSON.stringify(u??[]),v,n]),{allPlayers:c,setAllPlayers:F,playerRecordCount:L,positionCounts:I,clubPlayersListLoading:f,refetch:W}}function $a(){const[s,r]=o.useState({}),[d,i]=o.useState(!1),[p,x]=o.useState(!1),h=o.useMemo(()=>Object.keys(s).map(n=>Number(n)),[s]),y=h.length;return{selected:s,setSelected:r,isCompareMode:d,setIsCompareMode:i,toggleCompareMode:()=>i(n=>!n),isCompareOpen:p,setIsCompareOpen:x,selectedPlayerIds:h,selectedCount:y,clearSelection:()=>r({})}}function Ha(s){const r=s.restored,[d,i]=o.useState((r==null?void 0:r.playerFilterChip)??[]),[p,x]=o.useState((r==null?void 0:r.objectivesFilter)??null),[h,y]=o.useState((r==null?void 0:r.videoFilter)??null),[u,v]=o.useState((r==null?void 0:r.feedbackFilter)??[]),[n,C]=o.useState((r==null?void 0:r.parentLinkFilter)??null),[N,m]=o.useState((r==null?void 0:r.selectedFilters)??[{name:"default",type:"radio"}]),[c,F]=o.useState((r==null?void 0:r.lastSeasonId)??null);return{playerFilterChip:d,setPlayerFilterChip:i,objectivesFilter:p,setObjectivesFilter:x,videoFilter:h,setVideoFilter:y,feedbackFilter:u,setFeedbackFilter:v,parentLinkFilter:n,setParentLinkFilter:C,selectedFilters:N,setSelectedFilters:m,lastSeasonId:c,setLastSeasonId:F}}let pe=null;function qa(s){pe=s}function Ya(s,r){return!pe||pe.clubId!==s||pe.seasonId!==r?null:pe}const Qa=[{key:"goals",label:"Top Scorer",field:"goals",suffix:"goals"},{key:"assists",label:"Most Assists",field:"assists",suffix:"assists"},{key:"rating",label:"Top Rated",field:"rating",suffix:""},{key:"games",label:"Most Appearances",field:"games",suffix:"games"},{key:"minutes",label:"Most Minutes",field:"minutes",suffix:"mins"},{key:"topPlayerCount",label:"Star Player",field:"topPlayerCount",suffix:"awards"}],Ka=[{key:"passing",label:"Best Passing",progressIndex:0},{key:"finishing",label:"Best Finishing",progressIndex:1},{key:"defending",label:"Best Defending",progressIndex:2},{key:"ballMastery",label:"Best Ball Mastery",progressIndex:3},{key:"psychoSocial",label:"Best Psycho-Social",progressIndex:4},{key:"physical",label:"Best Physical",progressIndex:5}];function Wa(s){return o.useMemo(()=>{var i;if(!(s!=null&&s.length))return[];const r=[];for(const p of Qa){const h=[...s].sort((v,n)=>Number(n[p.field]??0)-Number(v[p.field]??0))[0];if(!h||Number(h[p.field])===0)continue;const y=h[p.field],u=p.field==="rating"?Number(y).toFixed(1):String(y);r.push({key:p.key,kind:"performance",label:p.label,player:h,value:p.suffix?`${u} ${p.suffix}`:u})}const d=[];for(const p of Ka){const h=[...s].filter(v=>{var C;return(((C=(v.playerProgress??[])[p.progressIndex])==null?void 0:C.avg_score)??0)>0}).sort((v,n)=>{var m,c;const C=v.playerProgress??[];return(((m=(n.playerProgress??[])[p.progressIndex])==null?void 0:m.avg_score)??0)-(((c=C[p.progressIndex])==null?void 0:c.avg_score)??0)})[0];if(!h)continue;const u=((i=(h.playerProgress??[])[p.progressIndex])==null?void 0:i.avg_score)??0;d.push({key:p.key,kind:"skill",label:p.label,player:h,value:Number(u).toFixed(2)})}return[...r,...d]},[s])}const Ja=me(()=>ue(()=>
12import("./InviteParentModalV2-oAc9Rm7k.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]))),Za=me(()=>ue(()=>import("./importPlayersModal-DYgPJ7sB.js"),__vite__mapDeps([22,19,2,1,3,4,5,6,20,21,23,24,25,26,27,28,17,18,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54])).then(s=>({default:s.ImportPlayerModal}))),za=me(()=>ue(()=>import("./BulkImportPlayersV2-BFq2mWKP.js"),__vite__mapDeps([55,1,19,2,3,4,5,6,20,21,17,53,18,56,57,12,58,59,60,54])).then(s=>({default:s.BulkImportPlayersV2}))),Xa=me(()=>ue(()=>import("./StandardGate-LiLFonF_.js"),__vite__mapDeps([61,1,19,2,3,4,5,6,20,21,62,25,30,31,32,33,23,24,26,27,28,17,18,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,63,64,65,66,67,8,9,10,68,69,70,71,16,12,53,72,73,74,15,75]))),er=me(()=>ue(()=>import("./index-CWCuEhaR.js"),__vite__mapDeps([76,1,2,3,4,5,6,18,19,20,21,77,48,8,9,10,78,79,80,15,12,75,13,14,81])).then(s=>({default:s.PlayerComparisonModalV2})));function An(){var ct,pt,ut,mt,ft,bt,ht,gt,xt;const s=Vs(),r=ha(),d=ga(r.breakpoints.down("md")),i=fs(),p=Gs(),{getClubDetails:x}=Cs(),[h]=bs(),[y]=Be(js,{update:Ss}),u=h,v=hs(),{currentSeason:n,isAllSeasonSelected:C,isReadOnlyMode:N}=v,m=gs(),c=ce(e=>e.club??{}),F=ce(e=>{var a;return((a=e==null?void 0:e.teams)==null?void 0:a.team)??[]}),L=ce(e=>{var a;return((a=e.user)==null?void 0:a.userPermission)??{}}),P=ce(e=>{var a;return((a=e==null?void 0:e.tableColumns)==null?void 0:a.players)??[]}),I=ce(e=>{var a,l;return((l=(a=e==null?void 0:e.app)==null?void 0:a.dataViews)==null?void 0:l.players)??"grid"}),M=(ut=(pt=(ct=m==null?void 0:m.userRolesPermissions)==null?void 0:ct.permissions)==null?void 0:pt.dugout)==null?void 0:ut.players,f=Ya((c==null?void 0:c.club_id)??null,(n==null?void 0:n.id)??null),[j,_]=o.useState(()=>(f==null?void 0:f.page)??0),[R,K]=o.useState(24),[W,oe]=o.useState(()=>(f==null?void 0:f.searchQuery)??""),[B,T]=o.useState(()=>(f==null?void 0:f.searchQuery)??""),[ie]=o.useState("Sort By"),[J,$]=o.useState(!1),[se,fe]=o.useState(!1),[H,Z]=o.useState(((mt=p==null?void 0:p.state)==null?void 0:mt.openManageModal)===!0),[le,q]=o.useState(null),[be,z]=o.useState(!1),[X,V]=o.useState(!1),[Y,G]=o.useState([]),[Ue,$e]=o.useState(!1),[Bt,He]=o.useState(!1),[qe,Ye]=o.useState(null),Qe=xs("parent_portal"),Vt=!!(m!=null&&m.isSuperAdmin),[Ke,We]=o.useState(!1),Je=()=>We(!0),Ze=()=>We(!1),Gt=ys("bulk-import-modal-v2"),Ut=async()=>{try{const a=await(await fetch(Is)).blob(),l=URL.createObjectURL(a),g=document.createElement("a");g.href=l,g.download="touchtight-players-template.xlsx",document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(l)}catch(e){console.error("[downloadPlayerSampleTemplate]",e),u({msg:"Could not download template.",variant:"error"})}},[D,$t]=o.useState(I),[ae,Ht]=o.useState(Nt),[re,qt]=o.useState("asc"),b=Ha({restored:f}),he=o.useMemo(()=>Object.keys(ae).find(e=>ae[e]),[ae]),k=Ua({page:j,rowsPerPage:R,searchQuery:B,appearanceValue:ie,selectedTeams:F,isAllSeasonSelected:C,currentSeasonId:n==null?void 0:n.id,playerFilterChip:b.playerFilterChip,sortColumn:he,sortDirection:re}),{data:ge}=De(Us,{variables:{club_id:(m==null?void 0:m.club_id)||(c==null?void 0:c.club_id)||0},skip:!(m!=null&&m.club_id||c!=null&&c.club_id),fetchPolicy:"cache-first"}),O=o.useMemo(()=>{var a;const e=(a=ge==null?void 0:ge.getPositions)==null?void 0:a.data;if(!e)return[];try{const l=typeof e=="string"?JSON.parse(e):e;return Array.isArray(l)?l:[]}catch{return[]}},[ge]),{data:xe}=De(Os,{variables:{club_id:(m==null?void 0:m.club_id)||(c==null?void 0:c.club_id)||0,...C?{}:{season_id:n==null?void 0:n.id}},skip:!(m!=null&&m.club_id||c!=null&&c.club_id),fetchPolicy:"cache-first"}),Ne=o.useMemo(()=>{var a;const e=xe==null?void 0:xe.getClubTeamsLite;return(a=e==null?void 0:e.data)!=null&&a.length?e.data.map(l=>({id:l.id,name:l.name})):[]},[xe]),ne=o.useMemo(()=>{const e=new Map;for(const a of Ne)e.set(Number(a.id),a.name);return e},[Ne]);o.useEffect(()=>{if(!(c!=null&&c.club_id)||!n)return;b.lastSeasonId!==(n==null?void 0:n.id)?(k.setAllPlayers([]),_(0),b.setLastSeasonId((n==null?void 0:n.id)??null)):b.lastSeasonId===null&&b.setLastSeasonId((n==null?void 0:n.id)??null)},[n==null?void 0:n.id,c,C,b.lastSeasonId,b,k,n]),o.useEffect(()=>{_(0)},[JSON.stringify(F)]),o.useEffect(()=>{qa({clubId:(c==null?void 0:c.club_id)??null,seasonId:(n==null?void 0:n.id)??null,page:j,searchQuery:B,playerFilterChip:b.playerFilterChip,objectivesFilter:b.objectivesFilter,videoFilter:b.videoFilter,feedbackFilter:b.feedbackFilter,parentLinkFilter:b.parentLinkFilter,selectedFilters:b.selectedFilters,lastSeasonId:b.lastSeasonId})},[c==null?void 0:c.club_id,n==null?void 0:n.id,j,B,b.playerFilterChip,b.objectivesFilter,b.videoFilter,b.feedbackFilter,b.parentLinkFilter,b.selectedFilters,b.lastSeasonId]);const ze=o.useMemo(()=>$s.map(e=>({value:e,label:e}
12)),[]),Yt=Wa(k.allPlayers),ye=ia(k.allPlayers),S=$a(),U=Ba({clubId:(m==null?void 0:m.club_id)||(c==null?void 0:c.club_id),seasonId:n==null?void 0:n.id,onSuccess:()=>k.refetch("",{silent:!0}),onRevert:()=>k.refetch("",{silent:!0}),sendNotification:u}),ve=la({selected:S.selected,currentSeasonId:n==null?void 0:n.id,isAllSeasonSelected:C,refetchSilent:()=>k.refetch("",{silent:!0}),patchPlayer:(e,a)=>k.setAllPlayers(l=>l.map(g=>g.id===e?{...g,...a}:g)),sendNotification:u,setSelected:S.setSelected}),Xe=(c==null?void 0:c.playersCount)??0,Ie=((ft=L==null?void 0:L.permission)==null?void 0:ft.players)??1/0,et=(L==null?void 0:L.planId)===1&&Xe>=Ie,ke=!N&&(M==null?void 0:M.add)===Ee.YES,de=!N&&(M==null?void 0:M.manage)===Ee.YES,Me=!N&&(M==null?void 0:M.delete)===Ee.YES,Ce=de&&!C&&!!(n!=null&&n.id),_e=o.useMemo(()=>Ft(e=>{_(0),T(e)},1e3),[]);o.useEffect(()=>()=>_e.cancel(),[_e]);const Qt=e=>{oe(e),_e(e)},tt=()=>{if(et){$(!0);return}q(null),z(!1),Z(!0)},Kt=e=>{const a=k.allPlayers.find(l=>l.id===Number(e));a&&(console.error("[ManagePlayerModal-open]",{selectedPlayer:{id:a.id,firstPosition:a.firstPosition,secondPosition:a.secondPosition},positionsListLength:O.length,positionsListSample:O.slice(0,3)}),q(a),z(!1),Z(!0))},Wt=e=>{if(et){$(!0);return}const a=k.allPlayers.find(l=>l.id===Number(e));a&&(q(a),z(!0),Z(!0))},Jt=()=>{z(!1),q(null),Z(!1)},st=e=>{e!=null&&e.id&&s(`/dugout/player/${e.id}`,{state:{player:e,positions:O}})},at=e=>st(ee[e]),Pe=()=>
12(_(0),k.setAllPlayers([]),k.refetch("")),Zt=e=>{G([Number(e)]),V(!0)},zt=()=>{const e=Object.keys(S.selected).map(Number);e.length!==0&&(G(e),V(!0))},Xt=()=>{Ue||(V(!1),G([]))},es=async()=>{var l;if(Y.length===0)return;const e=(m==null?void 0:m.club_id)||(c==null?void 0:c.club_id)||0,a=(m==null?void 0:m.id)||0;$e(!0);try{const g=await y({variables:{player_ids:Y,club_id:e,coach_id:a,season_id:n==null?void 0:n.id}}),{message:A,success:te}=((l=g==null?void 0:g.data)==null?void 0:l.deletePlayer)??{};te===!0?(u({msg:A||"Player Deleted",variant:"success"}),V(!1),G([]),S.setSelected({}),Pe(),e&&x(e)):u({msg:A||"Could not delete. Try again.",variant:"error"})}catch(g){const A=g;console.error("[deletePlayer]",A),u({msg:A.message||"Delete failed. Check the console.",variant:"error"})}$e(!1)},we=e=>{ve.handleUpdateAvailability(e,0,!0)},rt=(e,a)=>{ve.handleUpdateAvailability(a,e)},ts=(e,a,l)=>{const g=O.find(A=>(A.position_name??A.name??"").toString().toLowerCase()===l.toLowerCase());if(!g){u({msg:`Position "${l}" is not configured for this club. Add it under Settings first.`,variant:"error"});return}a==="first"?ve.handleUpdate1stPosition(g.id,e):ve.handleUpdate2ndPosition(g.id,e)},nt=e=>{const l=!!ae[e]?re==="asc"?"desc":"asc":ma.has(e)?"desc":"asc";qt(l),Ht({...Nt,[e]:!0})},ss={all:null,goalkeeper:"Goalkeepers",defender:"Defenders",midfielder:"Midfielders",forward:"Forwards",none:"No Position"},ot=o.useMemo(()=>{const e=[];for(const a of b.playerFilterChip){const l=(a.name??"").toLowerCase();l==="goalkeepers"?e.push("goalkeeper"):l==="defenders"?e.push("defender"):l==="midfielders"?e.push("midfielder"):l==="forwards"?e.push("forward"):l==="no position"&&e.push("none")}return e},[b.playerFilterChip]),as=e=>{const a=ss[e];a&&(b.setPlayerFilterChip(l=>{if(l.some(te=>(te.name??"").toLowerCase()===a.toLowerCase()))return l.filter(te=>(te.name??"").toLowerCase()!==a.toLowerCase());const A=Hs.find(te=>te.name.toLowerCase()===a.toLowerCase());return A?[...l,A]:l}),_(0))},rs=()=>{b.setPlayerFilterChip([]),_(0)},ns=(e,a,l,g)=>{b.setObjectivesFilter(e),b.setVideoFilter(a),b.setFeedbackFilter(l),b.setParentLinkFilter(g),_(0)},os=b.playerFilterChip.length+(b.objectivesFilter!==null?1:0)+(b.videoFilter!==null?1:0)+b.feedbackFilter.length+(b.parentLinkFilter!==null?1:0),it=e=>t.jsx(kt,{icon:Te,onClick:tt,children:e}),Q=o.useMemo(()=>{if(B)return{title:"No players found",description:"No players match your search. Try a different search term.",action:null,icon:xa};if(b.playerFilterChip.length===1){const e=b.playerFilterChip[0],a=(e==null?void 0:e.name)??"";if(a==="No Position")return{title:"No unassigned players",description:"All players have a position assigned.",action:null};const g={Goalkeepers:{short:"GKs",singular:"goalkeeper"},Defenders:{short:"Defenders",singular:"defender"},Midfielders:{short:"Midfielders",singular:"midfielder"},Forwards:{short:"Forwards",singular:"forward"}}[a];if(g)return{title:`No ${g.short.toLowerCase()} added yet`,description:`Want to add your first ${g.singular}?`,action:ke?it(`Add ${g.singular}`):null,icon:yt}}return{title:"No players yet",description:"Add players one at a time, or import your squad from a spreadsheet.",action:ke?t.jsxs(t.Fragment,{children:[it("Add player"),t.jsx(kt,{variant:"secondary",icon:ya,onClick:Je,children:"Import spreadsheet"})]}):null,icon:yt}},[B,b.playerFilterChip,ke]),is=!k.clubPlayersListLoading&&k.playerRecordCount===0&&!B&&ot.length===0,Le=o.useMemo(()=>{let e=k.allPlayers;if(b.objectivesFilter==="with"?e=e.filter(a=>{var l;return(((l=a.playerObjectives)==null?void 0:l.length)??0)>0}):b.objectivesFilter==="without"&&(e=e.filter(a=>{var l;return(((l=a.playerObjectives)==null?void 0:l.length)??0)===0})),b.videoFilter==="with"?e=e.filter(a=>a.hasVideo===!0):b.videoFilter==="without"&&(e=e.filter(a=>a.hasVideo!==!0)),b.feedbackFilter.length>0){const a=b.feedbackFilter;e=e.filter(l=>a.every(g=>{var A;return!!((A=l.feedback)!=null&&A[g])}))}if(b.parentLinkFilter){const a=b.parentLinkFilter;e=e.filter(l=>{var g;return(((g=l.parentLink)==null?void 0:g.status)??"none")===a})}return e},[k.allPlayers,b.objectivesFilter,b.videoFilter,b.feedbackFilter,b.parentLinkFilter]),ee=o.useMemo(()=>he?da(he,re,Le,O,ne):Le,[he,re,Le,O,ne]),E=o.useMemo(()=>ca(),[]);o.useEffect(()=>{if(E.length===0)return;const e=["team","ageGroup","skillRating"],a=P.length>0&&e.every(l=>!P.includes(l));(P.length===0||a)&&i(Oe(E.map(l=>l.id)))},[P,E,i]),o.useEffect(()=>{if(E.length===0||P.length===0)return;const e=["feedback","parentLink"];if(!e.every(A=>!P.includes(A)))return;const l=[...P],g=l.indexOf("objectives");g>=0?l.splice(g+1,0,...e):l.push(...e),i(Oe(l))},[P,E,i]);const ls=o.useMemo(()=>
12{if(P.length===0)return E;const e=new Map(E.map(g=>[g.id,g])),a=[];for(const g of P){const A=e.get(g);A&&a.push(A)}const l=a.findIndex(g=>g.id==="name");if(l===-1){const g=E.find(A=>A.id==="name");g&&a.unshift(g)}else if(l>0){const[g]=a.splice(l,1);a.unshift(g)}return a},[P,E]),ds=o.useMemo(()=>D==="list"?pa({players:ee,positionOptions:ze,positionsList:O,insightMap:ye,canEditInline:Ce,onAvailabilityChange:rt,onPositionChange:ts,onClickFixture:e=>s(`/dugout/fixture/${e}`),teamNameById:ne,compactIdentity:d}):[],[ee,ze,O,ye,Ce,ne,s,d,D]),Fe=o.useMemo(()=>[...new Set(ee.flatMap(e=>e.teamIds??[]))].sort((e,a)=>e-a),[ee]),{data:je}=De(Es,{variables:{getTeamsInput:{club_id:(m==null?void 0:m.club_id)||(c==null?void 0:c.club_id)||0,team_ids:Fe,limit:Fe.length,offset:0,...C?{}:{season_id:n==null?void 0:n.id}}},skip:D!=="grid"||!Fe.length||!(m!=null&&m.club_id||c!=null&&c.club_id),fetchPolicy:"cache-first"}),lt=o.useMemo(()=>{var a;const e=(a=je==null?void 0:je.getTeams)==null?void 0:a.data;return new Map(Array.isArray(e)?e.map(l=>[Number(l.id),l.gender]):[])},[je]),cs=o.useMemo(()=>D==="grid"?ua({players:ee,teamGenderById:lt,teamNameById:ne,positionsList:O,insightMap:ye,canEditInline:Ce,onAvailabilityChange:rt}):[],[ee,O,ye,Ce,D,lt,ne]),Ae=S.isCompareMode?[{label:`Compare players (${S.selectedCount})`,onClick:()=>{if(S.selectedCount<2){u({msg:"Select at least 2 players to compare.",variant:"warning"});return}if(S.selectedCount>6){u({msg:"Compare maxes at 6 players.",variant:"warning"});return}S.setIsCompareOpen(!0)}}]:[{label:"Delete",destructive:!0,icon:t.jsx(It,{className:"h-3.5 w-3.5"}),onClick:()=>zt()},{label:"Available",onClick:()=>we(1)},{label:"Limited",onClick:()=>we(2)},{label:"Out",onClick:()=>we(4)},{label:"Pending",onClick:()=>we(0)}],dt=()=>{const e=[{label:"View player",icon:t.jsx(ks,{className:"h-3.5 w-3.5"}),onClick:a=>{const l=k.allPlayers.find(g=>g.id===Number(a));st(l)}}];return de&&(e.push({label:"Edit player",icon:t.jsx(va,{className:"h-3.5 w-3.5"}),onClick:a=>Kt(a)}),e.push({label:"Duplicate",icon:t.jsx(ka,{className:"h-3.5 w-3.5"}),onClick:a=>Wt(a)})),Me&&e.push({label:"Delete",destructive:!0,icon:t.jsx(It,{className:"h-3.5 w-3.5"}),onClick:a=>Zt(a)}),Qe&&Vt&&e.push({label:"Invite Parent",icon:t.jsx(wa,{className:"h-3.5 w-3.5"}),onClick:a=>{Ye(Number(a)),He(!0)}}),e},ps=e=>dt(),us=e=>dt();return t.jsxs("div",{className:"min-h-screen bg-bg text-fg font-body",children:[t.jsx(Aa,{isMobile:d,count:k.allPlayers.length,totalCount:k.playerRecordCount,countLoading:k.clubPlayersListLoading,clubName:c==null?void 0:c.name,searchValue:W,onSearchChange:Qt,view:D,onViewChange:e=>{e!==D&&(_(0),$t(e),i(vs({players:e})))},isCompareMode:S.isCompareMode,onToggleCompareMode:S.toggleCompareMode,sortMenu:t.jsx(Ra,{sorting:ae,sortOrder:re,onSelect:nt}),filterMenu:t.jsx(La,{objectivesFilter:b.objectivesFilter,videoFilter:b.videoFilter,feedbackFilter:b.feedbackFilter,parentLinkFilter:b.parentLinkFilter,onApply:ns,badgeCount:os}),importExportMenu:t.jsx(Fa,{onDownloadTemplate:Ut,onOpenImport:Je,isReadOnlyMode:N}),onOpenColumns:()=>fe(!0),onOpenBaselineModal:()=>U.setBaselineModalOpen(!0),onAddPlayer:tt,disableBaseline:P.length===0||!de||N||C,disableAdd:!ke}),t.jsx(Ta,{chips:Yt,onClickChip:e=>{const a=k.allPlayers.find(l=>l.id===e);a&&s(`/dugout/player/${a.id}`,{state:{player:a,positions:O}})}}),!is&&t.jsx(Ea,{positionCounts:k.positionCounts,activeKeys:ot,onToggle:as,onClear:rs,countLoading:k.clubPlayersListLoading}),t.jsx("div",{className:"px-0 py-0 tab:px-7 tab:py-4","data-tour-id":"players-list",children:D==="list"?t.jsx(Ls,{data:ds,headCells:ls,count:k.playerRecordCount,page:j,rowsPerPage:R,rowsPerPageOptions:[10,24,25,50,100],sort:ae,sortOrder:re,sortHandler:nt,handleChangePage:(e,a)=>_(a),handleChangeRowsPerPage:e=>{K(e.target.value),_(0)},isSelectable:S.isCompareMode||!N&&Me,selected:S.selected,setSelected:S.setSelected,isRowClickable:!0,handleRowClick:at,canEdit:de,rowMenu:ps,bulkActions:Ae,hideBulkBarOnMobile:!0,onClearSelection:()=>{S.isCompareMode&&S.setIsCompareMode(!1)},stickyColumn:!d,renderLeadingSticky:d?e=>e.avatar:void 0,isLoading:k.clubPlayersListLoading&&k.allPlayers.length===0,pending:k.clubPlayersListLoading,emptyContentTitle:Q.title,emptyContentDescription:Q.description,emptyContentAction:Q.action,emptyContentIcon:Q.icon}):t.jsx(Fs,{className:"players-listing-grid dugout-listing-grid",data:cs,count:k.playerRecordCount,page:j,rowsPerPage:R,rowsPerPageOptions:[12,24,50,100],handleChangePage:(e,a)=>_(a),handleChangeRowsPerPage:e=>{K(e.target.value),_(0)},isSelectable:S.isCompareMode||!N&&Me,selected:S.selected,setSelected:S.setSelected,selectOnCardClick:S.isCompareMode,isRowClickable:!0,handleRowClick:at,canEdit:de,rowMenu:us,bulkActions:Ae,hideBulkBarOnMobile:!0,onClearSelection:()=>{S.isCompareMode&&S.setIsCompareMode(!1)},isLoading:k.clubPlayersListLoading&&k.allPlayers.length===0,pending:k.clubPlayersListLoading,emptyContentTitle:Q.title,emptyContentDescription:Q.description,emptyContentAction:Q.action,emptyContentIcon:Q.icon})}),t.jsx(As,{selectedIds:Object.keys(S.selected),actions:Ae,onClear:()=>{S.setSelected({}),S.isCompareMode&&S.setIsCompareMode(!1)}}),t.jsx(ja,{open:U.baselineModalOpen,onClose:()=>U.setBaselineModalOpen(!1),onConfirm:U.handleSetBaselineScores,loading:U.baselineLoading,seasonLabel:n!=null&&n.id?`Season ${n.id}`:"Current",playerCount:k.allPlayers.length}),t.jsx(Sa,{open:!!U.baselineUndoIds,createdCount:(((ht=(bt=U.baselineUndoIds)==null?void 0:bt.createdIds)==null?void 0:ht.length)??0)+(((xt=(gt=U.baselineUndoIds)==null?void 0:gt.updatedFromZeroIds)==null?void 0:xt.length)??0),onUndo:U.handleRevertBaselineScores}),Gt?t.jsx(za,{open:Ke,handleCloseModal:Ze,positionsList:O,refetch:D==="grid"?Pe:()=>k.refetch("")}):t.jsx(Za,{open:Ke,handleCloseModal:Ze,positionsList:O,refetch:D==="grid"?Pe:()=>k.refetch("")}),t.jsx(Xa,{open:H,handleClose:Jt,positionsList:O,selectedPlayer:le,setSelectedPlayer:q,duplicate:be,refetch:D==="grid"?Pe:()=>k.refetch("")}),Qe&&t.jsx(Ja,{open:Bt,selectedUser:{player_ids:qe?[qe]:[]},handleCloseModal:()=>{He(!1),Ye(null)},refetchUserList:()=>{}}),t.jsx(Ns,{open:X,handleClose:Xt,handleDelete:es,loading:Ue,title:Y.length===1?"Delete player?":`Delete ${Y.length} players?`,actionBtnTitle:Y.length===1?"Delete player":`Delete ${Y.length} players`,warning:"You're about to permanently delete this player and all associated data. This is irreversible."}),t.jsx(_s,{open:J,onClose:()=>$(!1),triggerReason:"player-cap",currentPlanLabel:"Starter",currentCount:Xe,currentCap:Number.isFinite(Ie)?Ie:18}),t.jsx(er,{open:S.isCompareOpen,onClose:()=>S.setIsCompareOpen(!1),players:k.allPlayers.filter(e=>S.selectedPlayerIds.includes(e.id)).map(e=>({id:e.id,name:e.name,surname:e.surname,playerImage:e.playerImage,availability:e.availability,firstPosition:e.firstPosition,squadNo:e.squadNo,teamIds:e.teamIds,ageGroup:e.ageGroup,rating:e.rating,games:e.games,goals:e.goals,assists:e.assists,minutes:e.minutes,topPlayerCount:e.topPlayerCount,sessionStreak:e.sessionStreak,playerProgress:e.playerProgress,playerObjectives:e.playerObjectives})),allPlayers:k.allPlayers.map(e=>({id:e.id,name:e.name,surname:e.surname,firstPosition:e.firstPosition,teamIds:e.teamIds,ageGroup:e.ageGroup})),positionsList:O,teams:Ne}),t.jsx(Ms,{open:se,onClose:()=>fe(!1),columns:E.map(e=>({id:e.id,label:typeof e.label=="string"?e.label:e.id,draggable:e.draggable!==!1})),visibleIds:P.length>0?P:E.map(e=>e.id),defaultVisibleIds:E.map(e=>e.id),onSave:e=>{i(Oe(e))}})]})}export{An 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.