PageSourceSearch

https://www.thenpl.co.uk/assets/MatchCentre-BIKTNGmk.js

js thenpl.co.uk collected 2026-10-02 21:07:39 UTC 40,493 bytes, 2 lines download raw bytes

1import{r as u,j as a}from"./vendor-react-nIFFWcjg.js";import{u as Me,d as Fe,A as Ae,x as It,aG as wt,aH as Re,aI as Tt,aJ as Ct,aK as Mt,aL as Oe,ay as Ft,c as I,I as F,h as At,a4 as Rt,S as te,p as se,aF as Ot,a5 as Pe,l as Pt,H as $t,L as kt,i as Dt,F as Gt,G as Ut,J as Vt}from"./main-BFjmQp6H.js";import{L as ne,u as U}from"./vendor-react-router-65IGR4DC.js";import{u as $e}from"./useDivisionsOrderQuery-9C5PTOBd.js";import{L as y,u as ke,S as $,a as De,b as Bt,G as Ge}from"./SocketProvider-B-9dj5ey.js";import{u as Ue}from"./useCompetitionsQuery-B5i-uIEX.js";import{a as Ht,D as Kt,u as Yt}from"./useIsMobile-CrJXuDLj.js";import{g as Wt}from"./teamPageHref-BXUjhSZ5.js";import{u as Ve,b as Be}from"./vendor-react-query-ChuYpeSs.js";import{b as ae,M as Qt}from"./MobileFiltersModal-DzP4hnFZ.js";import{M as He}from"./MultiSelect-18ahh4B9.js";import{u as H}from"./useClubsQuery-v8lmNvML.js";import{L as qt,a as j,p as Ke}from"./LeagueTableUI-Die22-YL.js";import"./vendor-socketio-BcxXcwBL.js";import"./FiltersDialog-UZXOhY5U.js";import"./TableSortIcon-BP1miOOU.js";import"./vendor-react-aria-Cxu2IdXX.js";import"./MatchTooltip-DISFcghA.js";const ge=60*1e3,Xt=()=>{const{apiUrl:e}=Me();return Ve({queryKey:["matches-today-competitions",e],queryFn:()=>zt(e),staleTime:ge,refetchInterval:ge,enabled:!!e})},zt=async e=>{const{data:t}=await Fe.get(`${e}${Ae.endpoints.matchesTodayCompetitions}`);return t},V=(e,t)=>{const s=new Date;return It({period:"Custom",startDate:`${s.toISOString().substring(0,10)}T00:00:00.000Z`,endDate:`${s.toISOString().substring(0,10)}T23:59:59.999Z`,limit:1e3,...e??{}},t)},X=e=>{var t;return`${e.externalMatchId}-${e.eventType}-${e.minute}-${((t=e.person)==null?void 0:t.id)??"none"}-${e.timestamp??"na"}`},Zt=6e4,Jt=e=>{if(!e.kickOffDate||!e.kickOffTime)return null;const[t,s]=e.kickOffTime.split(":"),n=Date.parse(`${e.kickOffDate}T${(t??"").padStart(2,"0")}:${s}:00Z`);return Number.isNaN(n)?null:n+(Number.isFinite(e.minute)?e.minute:0)*Zt},es=(e,t)=>{if(e.timestamp!==null&&t.timestamp!==null){if(e.timestamp!==t.timestamp)return t.timestamp-e.timestamp}else{if(e.timestamp!==null)return-1;if(t.timestamp!==null)return 1}return t.minute-e.minute},ts={[y.Goal]:{kind:"icon",src:Oe,alt:"Goal"},[y.GoalFromPenalty]:{kind:"icon",src:Mt,alt:"Penalty"},[y.OwnGoal]:{kind:"icon",src:Ct,alt:"Own goal"},[y.YellowCard]:{kind:"card",modifier:"yellow",label:"Yellow card"},[y.FirstYellowCard]:{kind:"card",modifier:"yellow",label:"Yellow card"},[y.SecondYellowCard]:{kind:"icon",src:Tt,alt:"Second yellow"},[y.RedCard]:{kind:"card",modifier:"red",label:"Red card"},[y.Substitution]:{kind:"icon",src:Re,alt:"Substitution"}},Ye=e=>ts[e],ss=[y.Goal,y.GoalFromPenalty,y.OwnGoal],ns=e=>ss.includes(e),as=e=>ns(e.eventType)?e.teamId:void 0,ie=[{id:"goal",label:"Goal",eventTypes:[y.Goal]},{id:"penalty",label:"Penalty",eventTypes:[y.GoalFromPenalty]},{id:"own-goal",label:"Own goal",eventTypes:[y.OwnGoal]},{id:"yellow",label:"Booking",eventTypes:[y.YellowCard,y.FirstYellowCard]},{id:"second-yellow",label:"2nd yellow",eventTypes:[y.SecondYellowCard]},{id:"red",label:"Red card",eventTypes:[y.RedCard]},{id:"sub",label:"Substitution",eventTypes:[y.Substitution]}],A=ie.map(e=>e.id),is=ie.reduce((e,t)=>(t.eventTypes.forEach(s=>{e[s]=t.id}),e),{}),rs=e=>is[e],os=e=>Ye(e.eventTypes[0]),We=(e,t)=>t.some(s=>{var n,i;return((n=e.homeTeam)==null?void 0:n.id)===s||((i=e.awayTeam)==null?void 0:i.id)===s}),Qe=e=>{var t;return((t=e.competition)==null?void 0:t.id)??""},ls=(e,{competitionIds:t,teamIds:s,activeChipIds:n})=>e.filter(i=>{if(!i.match)return!1;const r=rs(i.eventType);return!(r&&!n.includes(r)||t&&!t.includes(Qe(i.match))||s&&s.length>0&&!We(i.match,s))}),cs=(e,{competitionIds:t,teamIds:s})=>{const n=new Set;return e.forEach(i=>{wt(i.status)&&(t&&!t.includes(Qe(i))||s&&s.length>0&&!We(i,s)||n.add(i.id))}),n.size},M="division",qe="none",Xe=e=>{if(!e||e==="all")return;if(e===qe)return[];const t=e.split(",").map(s=>s.trim()).filter(Boolean);return t.length>0?t:void 0},ds=e=>e.length>0?e.join(","):qe,T="team",k=e=>e?e.split(",").map(t=>t.trim()).filter(Boolean):[],us=e=>e.length>0?e.join(","):null,C="events",ze="none",Ze=e=>{if(e===null)return A;if(e===ze)return[];const t=e.split(",").filter(s=>A.includes(s));return t.length>0?t:A},ms=e=>e.length===A.length?null:e.length===0?ze:A.filter(t=>e.includes(t)).join(","),v="live-feed__event",hs="--live-feed-event-accent",fs=(e,t)=>t?`${t.label} · ${e}`:e,ps=({label:e,competitionId:t,onSelect:s})=>a.jsx("button",{type:"button",className:`${v}-competition text-3xs`,onClick:()=>s==null?void 0:s(t),"aria-label":`Show ${e} scores`,children:e}),re={target:"_blank",rel:"noopener noreferrer"},z=({person:e,fallback:t=""})=>e?a.jsx(ne,{className:"live-feed__player-link",to:`/players/${e.id}`,...re,children:e.name}):a.jsx(a.Fragment,{children:t}),_s=({glyph:e})=>e.kind==="card"?a.jsx("span",{className:`match-timeline__card match-timeline__card--${e.modifier}`,role:"img","aria-label":e.label}):a.jsx(F,{className:`${v}-glyph-icon`,src:e.src,alt:e.alt,width:24,height:24}),ve=({team:e})=>a.jsx(F,{className:"fixture-match__team-logo",src:e.logo??Rt,alt:"",width:24,height:24,variant:At.SquareLogoXs}),be=({team:e,isEventTeam:t})=>a.jsx("span",{className:I("fixture-match-team__name",`${v}-team`,{[`${v}-team--event`]:t}),children:e.shortName}),ye=({team:e,isEventTeam:t,side:s,isLeagueSite:n})=>{const i=`${v}-side ${v}-side--${s}`,r=Wt(e,n),o=s==="home"?a.jsxs(a.Fragment,{children:[a.jsx(be,{team:e,isEventTeam:t}),a.jsx(ve,{team:e})]}):a.jsxs(a.Fragment,{children:[a.jsx(ve,{team:e}),a.jsx(be,{team:e,isEventTeam:t})]});return r?a.jsx(ne,{className:`${i} ${v}-side-link`,to:r,...re,children:o}):a.jsx("div",{className:i,children:o})},R=(e,t)=>{if(t&&t===e.homeTeam.id)return"home";if(t&&t===e.awayTeam.id)return"away"},xs=({value:e,previous:t})=>a.jsxs("b",{className:`${v}-score-scored`,children:[a.jsx("span",{className:`${v}-score-roll`,"aria-hidden":"true",children:a.jsxs("span",{className:`${v}-score-roll-track`,children:[a.jsx("span",{className:`${v}-score-roll-digit`,children:t}),a.jsx("span",{className:`${v}-score-roll-digit`,children:e})]})}),a.jsxs("span",{className:"sr-only",children:[e," (scored)"]})]}),Ne=({value:e,hasScored:t,previous:s})=>t?s!==void 0&&s!==e?a.jsx(xs,{value:e,previous:s}):a.jsxs("b",{className:`${v}-score-scored`,children:[e,a.jsx("span",{className:"sr-only",children:" (scored)"})]}):a.jsx("span",{children:e}),gs=({home:e,away:t,scoringSide:s,matchId:n,previousScore:i})=>a.jsxs(ne,{className:`fixture-match__score-line ${v}-score ${v}-score-link small-text`,to:`/match/${n}`,...re,children:[a.jsx(Ne,{value:e,hasScored:s==="home",previous:i==null?void 0:i.home}),a.jsx("span",{className:`${v}-score-dash`,children:"–"}),a.jsx(Ne,{value:t,hasScored:s==="away",previous:i==null?void 0:i.away})]}),vs=({event:e})=>a.jsxs("div",{className:`${v}-sub`,children:[a.jsxs("span",{className:"match-timeline__name--off",children:[a.jsx("span",{className:"sr-only",children:"Off: "}),a.jsx(z,{person:e.personOff,fallback:"N/A"})]}),a.jsx(F,{className:`${v}-sub-icon`,src:Re,alt:"",width:24,height:24}),a.jsxs("span",{className:`${v}
1-sub-on`,children:[a.jsx("span",{className:"sr-only",children:"On: "}),a.jsx(z,{person:e.person,fallback:"N/A"})]})]}),bs=u.memo(function({event:t,match:s,isLeagueSite:n=!1,league:i,previousScore:r,onFocusCompetition:o}){var p,g,x,_;const l=Ye(t.eventType),d=as(t),c=t.eventType===y.Substitution,h=c?void 0:R(s,(p=t.person)==null?void 0:p.teamId),m=R(s,d),f=R(s,(g=t.person)==null?void 0:g.teamId)??R(s,t.teamId);return a.jsxs("article",{className:I(v,{[`${v}--new`]:!!r}),style:i&&{[hs]:i.colour},children:[a.jsxs("div",{className:`${v}-head`,children:[a.jsx("span",{className:`${v}-glyph`,children:l&&a.jsx(_s,{glyph:l})}),a.jsxs("span",{className:`${v}-minute`,children:[Ft(t.minute,t.phase),"'"]}),a.jsx(ps,{label:fs(s.competition.name,i),competitionId:s.competition.id,onSelect:o})]}),a.jsxs("div",{className:`${v}-body`,children:[a.jsx(ye,{side:"home",team:s.homeTeam,isEventTeam:f==="home",isLeagueSite:n}),a.jsx(gs,{home:(x=t.score)==null?void 0:x.home,away:(_=t.score)==null?void 0:_.away,scoringSide:m,matchId:s.id,previousScore:r}
1),a.jsx(ye,{side:"away",team:s.awayTeam,isEventTeam:f==="away",isLeagueSite:n}),h&&a.jsx("span",{className:`${v}-player ${v}-player--${h} text-3xs`,children:a.jsx(z,{person:t.person})})]}),c&&a.jsx(vs,{event:t})]})}),ys=4,Ns=74,Es=new Map,Ss=new Map,Ls=()=>a.jsx("div",{className:"live-feed__list",children:Array.from({length:ys},(e,t)=>a.jsx("div",{className:"live-feed__skeleton",children:a.jsx(te,{height:Ns})},t))}),js=({hasActiveFilters:e})=>a.jsxs("div",{className:"fixture-match-list__empty live-feed__empty",children:[a.jsx("span",{className:"fixture-match-list__empty-icon",children:a.jsx(F,{src:Oe,alt:"",width:34,height:34})}),a.jsx("p",{className:"fixture-match-list__empty-title text-m",children:e?"No matching events":"No events yet"}),a.jsx("p",{className:"fixture-match-list__empty-text",children:e?"Try widening your division, club or event filters.":"Events will appear here as today’s games get under way."})]}),Is=()=>a.jsxs("div",{className:"live-feed__error",children:[a.jsx("span",{className:"live-feed__error-title",children:"Live updates paused"}),a.jsx("span",{className:"live-feed__error-text small-text",children:"We’ve lost the connection to the score feed. The events below are the last we received."}),a.jsx("span",{className:"fixture-match__pill fixture-match__pill--pp text-3xs",children:"Reconnecting"})]}),ws=(e,t)=>e?"Live updates paused. We have lost the connection to the score feed.":t>0?`${t} new ${t===1?"event":"events"}`:"";function Ts(e,t){const[s,n]=u.useState(0),i=u.useRef(null);return u.useEffect(()=>{if(!t)return;const r=i.current;i.current=e,!(r===null||e<=r)&&n(e-r)},[e,t]),s}const Cs=({events:e,isLoading:t,isError:s,hasActiveFilters:n,isLeagueSite:i,competitionLeagues:r=Es,eventFlas
1h:o=Ss,onFocusCompetition:l})=>{const d=Ts(e.length,!t);if(t)return a.jsx(Ls,{});const c=e.length>0;return a.jsxs("div",{className:"live-feed",children:[a.jsx("span",{className:"sr-only",role:"status",children:ws(s,d)}),s&&a.jsx(Is,{}),!c&&!s&&a.jsx(js,{hasActiveFilters:n}),c&&a.jsxs(a.Fragment,{children:[a.jsx("ul",{className:"live-feed__list",children:e.map(h=>{const m=X(h);return a.jsx("li",{children:a.jsx(bs,{event:h,match:h.match,isLeagueSite:i,league:r.get(h.match.competition.id),previousScore:o.get(m),onFocusCompetition:l})},m)})}),a.jsx("p",{className:"live-feed__caught-up text-3xs",children:"You’re all caught up · events auto-update"})]})]})},Ms=()=>{const e=ke(),t=Be();u.useEffect(()=>{const s=n=>{if(n.type===$.MatchUpdate){const{matchId:i,updatedFields:r}=n.payload;t.setQueriesData({queryKey:["matches"]},o=>o&&{...o,items:o.items.map(l=>l.id===i?{...l,...r}:l)})}};return e==null||e.on("message",s),()=>{e==null||e.off("message",s)}},[e,t])},Fs=1/0,As=e=>{const{apiUrl:t}=Me();return Ve({queryKey:["live-feed",{date:e},t],queryFn:()=>Rs(t,e),staleTime:Fs,enabled:!!t})},Rs=async(e,t)=>{const s=`${t}T00:00:00.000Z`,n=`${t}T23:59:59.999Z`,i=1e3,{data:r}=await Fe.get(`${e}${Ae.endpoints.matches}`,{params:{withEvents:"1",period:"Custom",startDate:s,endDate:n,limit:i,status:"any"}});r.pagination.totalItems>r.items.length&&console.warn(`[useLiveFeedQuery] Fetched ${r.items.length} of ${r.pagination.totalItems} matches — some events may be missing`);const o=[];for(const l of r.items)l.events&&o.push(...l.events);return o.sort((l,d)=>{const c=l.createdAt?new Date(l.createdAt).getTime():0;return(d.createdAt?new Date(d.createdAt).getTime():0)-c}),{_id:t,events:o}},Os=15*1e3,K=e=>{var t;return`${e.match}-${e.minute}-${(t=e.person)==null?void 0:t.id}-${e.eventType}`},Ps=[],$s=({fixtures:e,extraMatches:t=Ps})=>{var c,h;const s=ke(),n=Be(),i=u.useMemo(()=>new Date().toISOString().substring(0,10),[]),r=As(i);u.useEffect(()=>(s==null||s.on("message",m=>{if(m.type===$.MatchEventAdd){const{event:f}=m.payload;n.setQueriesData({queryKey:["live-feed"]},p=>p&&{...p,events:[f,...p.events]})}if(m.type===$.MatchEventModify){const{eventKey:f,event:p}=m.payload;n.setQueriesData({queryKey:["live-feed"]},g=>g&&{...g,events:g.events.map(x=>K(x)===f?p:x)})}if(m.type===$.MatchEventDelete){const{eventKey:f}=m.payload;n.setQueriesData({queryKey:["live-feed"]},p=>p&&{...p,events:p.events.filter(g=>K(g)!==f)})}}),()=>{s==null||s.off("message")}),[s,n,i]);const o=u.useRef(0),l=u.useCallback(()=>{const m=Date.now();m-o.current>Os&&(o.current=m,r.refetch())},[r]);De({onVisible:l});const d=u.useMemo(()=>{var x;const m=(x=r==null?void 0:r.data)==null?void 0:x.events;if(!m&&t.length===0)return[];const f=new Map([...e,...t].map(_=>[_.id,_])),p=new Set;return[...m??[],...t.flatMap(_=>_.events??[])].filter(_=>{const E=K(_);return p.has(E)?!1:(p.add(E),!0)}).map(_=>({..._,match:f.get(_.match)??null,timestamp:Jt(_)})).sort(es)},[(c=r==null?void 0:r.data)==null?void 0:c.events,e,t]);return{date:((h=r==null?void 0:r.data)==null?void 0:h._id)??i,events:d,isLoading:r.isLoading,isError:r.isError}},ks=2e3,Je=new Map,Ds=(e,t)=>{const s=new Set;e.forEach(n=>{s.has(n.externalMatchId)||(s.add(n.externalMatchId),t.set(n.externalMatchId,{home:n.score.home,away:n.score.away}))}),Array.from(t.keys()).forEach(n=>{s.has(n)||t.delete(n)})},Gs=(e,t)=>{const s=new Map(e);return t.forEach(n=>s.delete(n)),s.size===0?Je:s};function Us(e,t){const s=u.useRef(null),n=u.useRef(new Map),i=u.useRef(new Set),[r,o]=u.useState(Je);return u.useEffect(()=>{if(!t)return;const l=s.current,d=new Map;if(e.forEach(m=>{const f=X(m),p=n.current.get(m.externalMatchId);l&&!l.has(f)&&p&&d.set(f,p)}),s.current=new Set(e.map(X)),Ds(e,n.current),d.size===0)return;o(m=>new Map([...m,...d]));const c=Array.from(d.keys()),h=setTimeout(()=>{i.current.delete(h),o(m=>Gs(m,c))},ks);i.current.add(h)},[e,t]),u.useEffect(()=>()=>{i.current.forEach(l=>clearTimeout(l)),i.current.clear()},[]),r}const O="event-type-chips__chip",Vs=()=>{const[e,t]=ae(),s=Ze(e.get(C)),n=i=>{const r=s.includes(i)?s.filter(d=>d!==i):[...s,i],o=new URLSearchParams(e.toString()),l=ms(r);l===null?o.delete(C):o.set(C,l),t(o)};return a.jsx("div",{className:"event-type-chips",role:"group","aria-label":"Filter by event",children:ie.map(i=>{const r=os(i),o=s.includes(i.id);return a.jsxs("button",{type:"button","aria-pressed":o,onClick:()=>n(i.id),className:I(O,{[`${O}--active`]:o}),children:[(r==null?void 0:r.kind)==="icon"&&a.jsx(F,{className:`${O}-icon`,src:r.src,alt:"",width:18,height:18}),(r==null?void 0:r.kind)==="card"&&a.jsx("span",{className:`match-timeline__card match-timeline__card--${r.modifier} ${O}-card`}),a.jsx("span",{children:i.label})]},i.id)})})},Y=[{id:"npl",label:"NPL"},{id:"isthmian",label:"Isthmian"},{id:"sfl",label:"Southern"}],Bs={NPL:"#f60d2e",Isthmian:"#4d8538",Southern:"#00205b"},oe=e=>Bs[e],Z={NPL:{label:"NPL",rank:0},IFL:{label:"Isthmian",rank:1},SFL:{label:"Southern",rank:2}},Hs={NPL:["Premier Division","East Division","Midlands Division","West Division"],IFL:["Premier Division","North Division","South Central Division","South East Division"],SFL:["Premier South","Premier Central","Division One South","Division One Central"]},Ks=Number.MAX_SAFE_INTEGER,D=(e,t)=>{var n;const s=((n=Hs[e??""])==null?void 0:n.indexOf(t))??-1;return s===-1?Ks:s},le=e=>{var t,s;return(s=(t=e.internalName)==null?void 0:t.split(" - ")[0])==null?void 0:s.trim()};function Ys(e){const t=new Map;return e.forEach(s=>{const n=Z[le(s)??""],i=n&&oe(n.label);n&&i&&t.set(s.id,{label:n.label,colour:i})}),t}function Ws(e){const t=Y.find(s=>
1s.id===e);return t?[t,...Y.filter(s=>s.id!==t.id)]:Y}const W=300,Qs=(e,t)=>{var n;const s=(n=e.team)==null?void 0:n.id;return s?{clubId:e.id,teamId:s,name:e.fullName,logo:e.logo,leagueId:t.id,leagueLabel:t.label}:null},qs=(e,t)=>e.name.toLowerCase().includes(t);function Xs({tenantId:e,searchTerm:t,selectedTeamIds:s}){var _,E,L;const[n,i,r]=Ws(e),o=H({variables:{league:n.id,limit:W}}),l=u.useMemo(()=>{var S;return Q((S=o.data)==null?void 0:S.items,n)},[(_=o.data)==null?void 0:_.items,n]),d=u.useMemo(()=>{const S=new Set(l.map(b=>b.teamId));return s.some(b=>!S.has(b))},[l,s]),c=t.trim().toLowerCase(),h=c.length>0||d,m=H({variables:{league:i.id,limit:W},enabled:h}),f=H({variables:{league:r.id,limit:W},enabled:h}),p=u.useMemo(()=>{var b,w;const S=[{...n,clubs:l},{...i,clubs:Q((b=m.data)==null?void 0:b.items,i)},{...r,clubs:Q((w=f.data)==null?void 0:w.items,r)}];return zs(S)},[n,l,i,(E=m.data)==null?void 0:E.items,r,(L=f.data)==null?void 0:L.items]),g=u.useMemo(()=>(c.length>0?p:p.slice(0,1)).map(b=>({...b,clubs:b.clubs.filter(w=>qs(w,c))})).filter(b=>b.clubs.length>0),[p,c]),x=u.useMemo(()=>{const S=new Map(p.flatMap(b=>b.clubs).map(b=>[b.teamId,b]));return s.map(b=>S.get(b)).filter(b=>b!=null)},[p,s]);return{groups:g,selectedClubs:x,isLoading:o.isLoading||h&&(m.isLoading||f.isLoading)}}const Q=(e,t)=>(e??[]).map(s=>Qs(s,t)).filter(s=>s!=null),zs=e=>{const t=new Set;return e.map(s=>({...s,clubs:s.clubs.filter(n=>t.has(n.clubId)?!1:(t.add(n.clubId),!0))}))},Ee="All clubs",Zs="Selected",Se=(e,t,s)=>({value:e.teamId,label:e.name,group:t,groupColor:s,icon:e.logo?a.jsx(F,{src:e.logo,alt:""}):void 0}),Js=(e,t,s)=>[...e.map(n=>Se(n,Zs)),...t.flatMap(n=>n.clubs.filter(i=>!s.includes(i.teamId)).map((i,r)=>Se(i,n.label,r===0?oe(n.label):void 0)))],en=()=>{const[e,t]=ae(),[s,n]=u.useState(""),{data:i}=se(),r=k(e.get(T)),{groups:o,selectedClubs:l,isLoading:d}=Xs({tenantId:i==null?void 0:i.tenantId,searchTerm:s,selectedTeamIds:r}),c=h=>{const m=new URLSearchParams(e.toString()),f=us(h);f===null?m.delete(T):m.set(T,f),m.delete("club"),t(m)};return a.jsx(He,{ariaLabel:"Filter clubs",placeholder:Ee,selectAllLabel:Ee,selectAllMode:"clear",searchable:!0,searchPlaceholder:"Search clubs in all leagues...",searchTerm:s,onSearchChange:n,options:Js(l,o,r),selected:r,onChange:c,isLoading:d,emptyMessage:"No clubs found"})},tn="All",sn="Competitions",ce="own",nn=e=>e.split(",").filter(Boolean),et=e=>Array.from(new Set(e)),an=e=>e.shortName||e.name;function tt(e,{available:t,selected:s}){return et(e.filter(n=>t.has(n)||s.has(n)))}function rn(e,t){const s=n=>{const i=(t==null?void 0:t.indexOf(n.competitionIds[0]))??-1;return i===-1?Number.MAX_SAFE_INTEGER:i};return[...e].sort((n,i)=>s(n)-s(i))}function on(e,t,s,n){const i=e.filter(r=>r.label!==tn).map(r=>({id:`filter:${r.label}`,label:r.label,competitionIds:tt(nn(r.competitions),t),needsFetch:!1})).filter(r=>r.competitionIds.length>0);return{id:ce,label:n,options:rn(i,s)}}function ln(e){const t=new Map;return e.forEach(s=>{const n=s.leagueExternalId;if(!n)return;const i=t.get(n)??{key:le(s),competitions:[]};i.competitions.push(s),t.set(n,i)}),t}function cn(e,t,s,n){const i=t.competitions.map(r=>({id:r.id,label:an(r),competitionIds:tt([r.id],n),needsFetch:!0})).filter(r=>r.competitionIds.length>0).sort((r,o)=>D(t.key,r.label)-D(t.key,o.label)||r.label.localeCompare(o.label));return{id:e,label:s,options:i}}function dn({matchFilters:e,competitions:t,divisionsOrder:s,fixtureCompetitionIds:n,todayCompetitionIds:i,selectedCompetitionIds:r}){var x;const o=new Set(r),l={available:new Set(n),selected:o},d={available:new Set(i),selected:o},c=ln(t),h=(x=[...c.entries()].find(([,_])=>_.competitions.some(E=>s==null?void 0:s.includes(E.id))))==null?void 0:x[0],m=h?Z[c.get(h).key??""]:void 0,f=(m==null?void 0:m.label)??sn,p=on(e,l,s,f),g=h?[...c.entries()].filter(([_])=>_!==h).flatMap(([_,E])=>{const L=Z[E.key??""];return L?[{leagueId:_,bucket:E,trident:L}]:[]}).sort((_,E)=>_.trident.rank-E.trident.rank).map(({leagueId:_,bucket:E,trident:L})=>cn(_,E,L.label,d)):[];return[p,...g].filter(_=>_.options.length>0)}function un(e,t){if(t!==void 0)return t;const s=e.find(n=>n.id===ce);return et(((s==null?void 0:s.options)??[]).flatMap(n=>n.competitionIds))}const mn=[],hn=[],fn=[];function st({fixtureCompetitionIds:e,selectedCompetitionIds:t}
1){const s=Ht(),n=Ue(),i=$e(),r=Xt(),o=e.join(","),l=t.join(",");return{groups:u.useMemo(()=>dn({matchFilters:s.data??mn,competitions:n.data??hn,divisionsOrder:i.data,fixtureCompetitionIds:e,todayCompetitionIds:r.data??fn,selectedCompetitionIds:t}),[s.data,n.data,i.data,o,r.data,l]),isLoading:s.isLoading||n.isLoading||i.isLoading||r.isLoading}}const Le="All competitions",pn="No competitions",_n=(e,t)=>e.filter(s=>s.competitionIds.length>0&&s.competitionIds.every(n=>t.has(n))).map(s=>s.id),xn=e=>{var t;return(((t=e.find(s=>s.id===ce))==null?void 0:t.options)??[]).map(s=>s.id)},gn=e=>e.flatMap(t=>t.options.map((s,n)=>({value:s.id,label:s.label,group:t.label,groupColor:n===0?oe(t.label):void 0}))),vn=({fixtureCompetitionIds:e})=>{const[t,s]=ae(),n=t.get(M),i=u.useMemo(()=>Xe(n),[n]),{groups:r,isLoading:o}=st({fixtureCompetitionIds:e,selectedCompetitionIds:i??[]}),l=u.useMemo(()=>r.flatMap(m=>m.options),[r]),d=u.useMemo(()=>new Set(i??[]),[i]),c=i===void 0?xn(r):_n(l,d),h=m=>{const f=new Map(l.map(x=>[x.id,x])),p=[...new Set(m.flatMap(x=>{var _;return((_=f.get(x))==null?void 0:_.competitionIds)??[]}))],g=new URLSearchParams(t.toString());g.set(M,ds(p)),g.delete("offset"),s(g)};return a.jsx(He,{ariaLabel:"Filter competitions",placeholder:i===void 0?Le:pn,selectAllLabel:Le,searchable:!0,searchPlaceholder:"Search competitions...",options:gn(r),selected:c,onChange:h,isLoading:o,emptyMessage:"No competitions found"})},q=({label:e,children:t})=>a.jsxs("div",{className:"match-centre-filters__field",children:[a.jsx("span",{className:"match-centre-filters__field-label text-3xs",children:e}),t]}),bn=({isMobile:e,fixtureCompetitionIds:t,hasActiveFilters:s})=>{const n=a.jsxs("div",{className:"match-centre-filters",children:[a.jsxs("div",{className:"match-centre-filters__row",children:[a.jsx(q,{label:"Competition",children:a.jsx(vn,{fixtureCompetitionIds:t})}),a.jsx(q,{label:"Club",children:a.jsx(en,{})})]}),a.jsx(q,{label:"Event type",children:a.jsx(Vs,{})})]});return e?a.jsx(Qt,{hasActiveFilters:s,defaultMatchType:"all",variant:"live",children:n}):a.jsx(Kt,{hasActiveFilters:s,defaultMatchType:"all",variant:"live",children:n})},yn=(e,t)=>{var n,i;if(!t)return[];const s=new Map;for(const r of e){if(String(((n=r.competition)==null?void 0:n.id)??"")!==t)continue;const o=r.group;o!=null&&o.id&&!s.has(o.id)&&s.set(o.id,{id:o.id,name:((i=o.name)==null?void 0:i.trim())||"Group"})}return[...s.values()].sort((r,o)=>r.name.localeCompare(o.name,void 0,{numeric:!0}))},N="match-centre-rail",nt=[j.Rank,j.Team,j.P,j.GP,j.GD],at=[j.Rank,j.Team,j.P,j.GP],it=2,Nn=Ke(nt,it),En=Ke(at,it),Sn=21,Ln=[{id:"scores",label:"Scores"},{id:"tables",label:"Tables"}],jn=({view:e,onChange:t})=>a.jsx("div",{className:`${N}__switch`,children:Ln.map(({id:s,label:n})=>a.jsx("button",{type:"button","aria-pressed":e===s,onClick:()=>t(s),className:I(`${N}__switch-button`,{[`${N}__switch-button--active`]:e===s}),children:n},s))}),rt=({leagues:e,selectedId:t,onSelect:s})=>e.length<2?null:a.jsx("div",{className:`${N}__leagues`,role:"group","aria-label":"League",children:e.map(n=>{const i=n.id===t;return a.jsx("button",{type:"button","aria-pressed":i,onClick:()=>s(n.id),className:I(`${N}__league`,{[`${N}__league--active`]:i}),children:n.label},n.id)})}),ot=({competitions:e,selectedId:t,onSelect:s})=>e.length===0?null:a.jsx("div",{className:`${N}__pills`,role:"group","aria-label":"Division",children:e.map(n=>{const i=n.id===t;return a.jsx("button",{type:"button","aria-pressed":i,onClick:()=>s(n.id),className:I(`${N}__pill`,{[`${N}__pill--active`]:i}),children:n.shortName||n.name},n.id)})}),In=6,wn=72,lt=({fixtures:e,showAttendance:t,allFixturesExpanded:s,isLoading:n})=>n?a.jsx("div",{className:`${N}__fixtures-skeleton`,children:Array.from({length:In},(i,r)=>a.jsx(te,{height:wn},r))}):a.jsx(Ot,{className:`${N}__fixtures`,fixtures:e,columns:1,groupByDate:!1,showAttendance:t,nameType:Pe.ShortName,isFixtureExpandable:!0,allFixturesExpanded:s}),Tn=({groups:e,selectedId:t,onSelect:s})=>e.length===0?null:a.jsx("div",{className:`${N}__pills`,role:"group","aria-label":"Group",children:e.map(n=>{const i=n.id===t;return a.jsx("button",{type:"button","aria-pressed":i,onClick:()=>s(n.id),className:I(`${N}__pill`,{[`${N}__pill--active`]:i}),children:n.name},n.id)})}),ct=({competitionId:e,fixtures:t=[],isLoadingFixtures:s=!1,isMobile:n})=>{var m;const i=u.useMemo(()=>yn(t,e),[t,e]),[r,o]=u.useState(),l=i.some(f=>f.id===r)?r:(m=i[0])==null?void 0:m.id,{data:d,isLoading:c}=Pt({competitionId:e,groupId:l},{enabled:!!e&&e.length>0&&!s}
1),h=a.jsx(Tn,{groups:i,selectedId:l,onSelect:o});return e&&c?a.jsxs(a.Fragment,{children:[h,a.jsx("div",{className:`${N}__table-skeleton`,children:a.jsx(te,{count:Sn})})]}):d?a.jsxs(a.Fragment,{children:[h,a.jsx("div",{className:`${N}__table`,children:a.jsx(qt,{leagueTable:d,columns:n?at:nt,pinnedColumns:n?En:Nn,nameType:Pe.ShortName,showPromotions:!0,showLegend:!n})})]}):a.jsxs(a.Fragment,{children:[h,a.jsxs("div",{className:`fixture-match-list__empty ${N}__empty`,role:"status",children:[a.jsx("p",{className:"fixture-match-list__empty-title text-m",children:i.length>0?"No table for this group":"No table for this division"}),a.jsx("p",{className:"fixture-match-list__empty-text",children:"This competition doesn’t carry standings."})]})]})},dt=()=>a.jsxs("div",{className:`fixture-match-list__empty ${N}__empty`,role:"status",children:[a.jsx("p",{className:"fixture-match-list__empty-title text-m",children:"No competitions selected"}),a.jsx("p",{className:"fixture-match-list__empty-text",children:"Tick a competition in the filters to see fixtures and tables."})]}),de="other",ut="Other",je=" - ",Cn=e=>{if(!(e!=null&&e.includes(je)))return;const[t]=e.split(je);return(t==null?void 0:t.trim())||void 0},Mn=e=>{var t,s;return((t=e.leagueShortName)==null?void 0:t.trim())||((s=e.leagueName)==null?void 0:s.trim())||Cn(e.internalName)||ut},ue=e=>({id:e.id,name:e.name,shortName:e.shortName}),G=(e,t)=>{const s=(t==null?void 0:t.indexOf(e))??-1;return s===-1?Number.MAX_SAFE_INTEGER:s},P=e=>e.shortName||e.name,me=(e,t,s)=>[...e].sort((n,i)=>G(n.id,t)-G(i.id,t)||D(s,P(n))-D(s,P(i))||P(n).localeCompare(P(i)));function Fn(e,t){const s=new Map;return e.forEach(({competition:n})=>{s.has(n.id)||s.set(n.id,ue(n))}),me(Array.from(s.values()),t)}function An(e,t){const s=new Set(t);return e.flatMap(n=>{if(n.id===de)return[n];const i=n.divisions.filter(r=>s.has(r.id));return i.length>0?[{...n,divisions:i}]:[]})}function Rn(e,t,s){const n=new Map;e.forEach(o=>{const l=o.leagueExternalId;if(!l)return;let d=n.get(l);d||(d={id:l,label:Mn(o),key:le(o),divisions:[]},n.set(l,d)),d.divisions.push(ue(o))});const i=Array.from(n.values()).map(({key:o,...l})=>({...l,divisions:me(l.divisions,s,o)}));i.sort((o,l)=>{var c,h;const d=G(((c=o.divisions[0])==null?void 0:c.id)??"",s)-G(((h=l.divisions[0])==null?void 0:h.id)??"",s);return d!==0?d:o.label.localeCompare(l.label)});const r=On(e,t,s);return r?[...i,r]:i}function On(e,t,s){const n=new Map(e.map(r=>[r.id,r.leagueExternalId])),i=new Map;return t.forEach(({competition:r})=>{n.get(r.id)||i.has(r.id)||i.set(r.id,ue(r))}),i.size===0?null:{id:de,label:ut,divisions:me(Array.from(i.values()),s)}}const Pn=[];function $n(e,t){var f,p,g;const[s,n]=u.useState(),[i,r]=u.useState(),o=!!s&&e.some(x=>x.id===s),l=t?(f=e[0])==null?void 0:f.id:void 0,d=o?s:l,c=((p=e.find(x=>x.id===d))==null?void 0:p.divisions)??Pn,h=!!i&&c.some(x=>x.id===i),m=t?(g=c[0])==null?void 0:g.id:void 0;return{selectedLeagueId:d,setSelectedLeagueId:n,divisions:c,selectedCompetitionId:h?i:m,setSelectedCompetitionId:r}}const kn=[];function Dn({leagueId:e,divisions:t,tenantDivisionIds:s,tenantFixtures:n,refetchInterval:i}){var h;const r=u.useMemo(()=>{if(!e||e===de||t.length===0)return null;const m=t.map(({id:f})=>f);return m.every(f=>s.includes(f))?null:m.join(",")},[e,t,s]),o=r!==null,l=V({competition:r,includeAllCompetitionClubs:o?"true":void 0},{enabled:o,refetchInterval:i,refetchOnWindowFocus:!0}),d=(h=l.data)==null?void 0:h.items,c=l.isLoading;return u.useMemo(()=>o?{fixtures:d??kn,isLoading:c}:{fixtures:n,isLoading:!1},[o,n,d,c])}function Gn({competitions:e,tenantDivisionIds:t,isOrderReady:s,fixtures:n,refetchInterval:i,selectedCompetitionIds:r}){const o=u.useMemo(()=>An(Rn(e,n,t),r),[e,n,t,r]),l=$n(o,s),{fixtures:d,isLoading:c}=Dn({leagueId:l.selectedLeagueId,divisions:l.divisions,tenantDivisionIds:t??[],tenantFixtures:n,refetchInterval:i});return{...l,leagues:o,railFixtures:d,isRailLoading:c}}const Un=[];function Vn({fixtureCompetitionIds:e,selectedCompetitionIds:t}){const{groups:s,isLoading:n}=st({fixtureCompetitionIds:e,selectedCompetitionIds:t??Un});return{competitionIds:u.useMemo(()=>{const r=un(s,t);return t===void 0&&r.length===0?e:r},[s,t,e]),isLoading:n}}const Bn=24*60*60*1e3,Hn="slc:live-filters:",he=e=>`${Hn}${e}`;function Kn(e){if(typeof window>"u")return null;try{const t=localStorage.getItem(he(e));if(!t)return null;const s=JSON.parse(t);return typeof(s==null?void 0:s.savedAt)=="number"?s:null}catch{return null}}function mt(e){if(!(typeof window>"u"))try{localStorage.removeItem(he(e))}catch{}}function ht(e,t){const s=Kn(e);return s?t-s.savedAt>=Bn?(mt(e),null):s:null}const Yn=(e,t)=>e.division===t.division&&e.team===t.team&&e.events===t.events;function Wn(e,t,s){if(typeof window>"u")return;if(!t.division&&!t.team&&!t.events){mt(e);return}const n=ht(e,s),i=n&&Yn(n,t)?n.savedAt:s;
1try{localStorage.setItem(he(e),JSON.stringify({...t,savedAt:i}))}catch{}}const Ie=({division:e,team:t,events:s})=>e!==void 0||t!==void 0||s!==void 0;function Qn(e){const[t,s]=U(),n=u.useRef(!1),i=u.useRef(!1),r=t.get(M)??void 0,o=t.get(T)??void 0,l=t.get(C)??void 0;u.useEffect(()=>{if(!e||n.current||(n.current=!0,Ie({division:r,team:o,events:l})))return;const d=ht(e,Date.now());if(!d)return;const c=new URLSearchParams(t.toString());d.division&&c.set(M,d.division),d.team&&c.set(T,d.team),d.events&&c.set(C,d.events),s(c,{replace:!0})},[e,r,o,l,t,s]),u.useEffect(()=>{if(!e)return;const d=!i.current;i.current=!0,!(d&&!Ie({division:r,team:o,events:l}))&&Wn(e,{division:r,team:o,events:l},Date.now())},[e,r,o,l])}const we=[];function qn({selectedTeamIds:e,tenantFixtures:t,refetchInterval:s}){var o;const n=u.useMemo(()=>{const l=new Set;t.forEach(c=>{var h,m;(h=c.homeTeam)!=null&&h.id&&l.add(c.homeTeam.id),(m=c.awayTeam)!=null&&m.id&&l.add(c.awayTeam.id)});const d=e.filter(c=>!l.has(c));return d.length>0?[...d].sort().join(","):null},[e,t]),r=(o=V({teamId:n,withEvents:"1",status:"any"},{enabled:n!==null,refetchInterval:s,refetchOnWindowFocus:!0}).data)==null?void 0:o.items;return u.useMemo(()=>n===null?we:r??we,[n,r])}const Te=[];function Xn({selectedCompetitionIds:e,fixtureCompetitionIds:t,refetchInterval:s}){var o;const n=u.useMemo(()=>{const l=new Set(t),d=e.filter(c=>!l.has(c));return d.length>0?[...d].sort().join(","):null},[e,t]),r=(o=V({competition:n,withEvents:"1",status:"any",includeAllCompetitionClubs:n!==null?"true":void 0},{enabled:n!==null,refetchInterval:s,refetchOnWindowFocus:!0}).data)==null?void 0:o.items;return u.useMemo(()=>n===null?Te:r??Te,[n,r])}const B=30*1e3,zn=15*1e3,Zn={refetchInterval:B,refetchOnWindowFocus:!0},Jn=[],ea=[{id:"feed",label:"Live feed"},{id:"scores",label:"Scores"},{id:"tables",label:"Tables"}],ta={feed:"Live feed",scores:"Match centre",tables:"League tables"},J=(e,t)=>`${e} ${t}${e===1?"":"s"}`;function sa({fixtureCount:e,hasFetchedFixtures:t,isLoadingOrder:s,isLoadingCompetitions:n,isLoadingCompetitionFilter:i}){const r=!t||s||n||i;return{isLoadingState:r,isEmptyState:t&&e===0,hasFixturesToShow:!r&&e>0}}const ee="live-feed-heading",Ce="match-centre-heading";function na(e){const t=u.useRef(0),s=u.useCallback(()=>{const n=Date.now();n-t.current>zn&&(t.current=n,e.refetch())},[e]);De({onVisible:s})}function aa({fixturesResponse:e,fixtures:t,hasAnyGameStarted:s,setMobileActiveTab:n}){const i=u.useRef(!1),r=u.useRef(!1),o=u.useRef(null);u.useEffect(()=>{if(!(!e.isFetched||t.length===0)){if(!i.current){i.current=!0,o.current=s,s?(n("feed"),r.current=!0):n("scores");return}!r.current&&o.current===!1&&s&&(r.current=!0,n("feed")),o.current=s}},[e.isFetched,t,s,n])}function ia(){u.useEffect(()=>{const e=t=>{t.preventDefault(),t.returnValue=""};return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[])}function ra(e,t,s){const[n]=U(),i=n.get(M),r=n.get(T),o=n.get(C),l=u.useMemo(()=>ls(e,{competitionIds:s,teamIds:k(r),activeChipIds:Ze(o)}),[e,s,r,o]),d=u.useMemo(()=>cs(t,{competitionIds:s,teamIds:k(r)}),[t,s,r]);return{visibleEvents:l,gamesInPlay:d,hasActiveFilters:!!i&&i!=="all"||!!r||o!==null}}function oa(){const[e]=U(),t=e.get(T);return u.useMemo(()=>k(t),[t])}function la(e,t){const s=oa(),n=qn({selectedTeamIds:s,tenantFixtures:e,refetchInterval:B}),i=u.useMemo(()=>[...n,...t],[n,t]),r=u.useMemo(()=>[...e,...i],[e,i]);return{liveFeed:$s({fixtures:e,extraMatches:i}),feedMatches:r}}function ca(e){const t=u.useMemo(()=>Fn(e).map(h=>h.id),[e]),[s]=U(),n=u.useMemo(()=>Xe(s.get(M)),[s]),i=Xn({selectedCompetitionIds:n??Jn,fixtureCompetitionIds:t,refetchInterval:B}),{liveFeed:r,feedMatches:o}=la(e,i),{visibleEvents:l,gamesInPlay:d,hasActiveFilters:c}=ra(r.events,o,n);return{fixtureCompetitionIds:t,selectedCompetitionIds:n,liveFeed:r,visibleEvents:l,gamesInPlay:d,hasActiveFilters:c}}function da(e){return u.useMemo(()=>Ys(e??[]),[e])}function ua(e){return u.useMemo(()=>{const t=new Map;return e==null||e.forEach(s=>{s.leagueExternalId&&t.set(s.id,s.leagueExternalId)}),t},[e])}function ma({competitions:e,fixturesResponse:t,fixtures:s,hasAnyGameStarted:n,setSelectedLeagueId:i,setSelectedCompetitionId:r}){const[o,l]=u.useState("scores"),[d,c]=u.useState("feed"),h=ua(e),m=u.useCallback(f=>{l("scores"),c("scores");const p=h.get(f);p&&i(p),r(f)},[h,i,r]);return aa({fixturesResponse:t,fixtures:s,hasAnyGameStarted:n,setMobileActiveTab:c}
1),{railView:o,setRailView:l,mobileActiveTab:d,setMobileActiveTab:c,focusCompetitionInRail:m}}function ha(e){return u.useMemo(()=>e.some(t=>!Dt(t.status)),[e])}const fa=()=>a.jsxs("div",{className:"match-centre__empty-state-container",children:[a.jsx("h3",{className:"match-centre__title",children:"NO GAMES TODAY"}),a.jsx(Gt,{url:"/fixtures",label:"Find Fixtures",variant:Vt.Contained,size:Ut.m,openInNewTab:!1})]}),pa=[];function ft(e,t){return t?e.filter(s=>s.competition.id===t):pa}function _a({railFixtures:e,isRailLoading:t,competitions:s,selectedCompetitionId:n,onSelectCompetition:i,railView:r,onRailViewChange:o,feed:l,eventCount:d,gamesInPlay:c,filters:h,leagues:m,selectedLeagueId:f,onSelectLeague:p}){const g=u.useMemo(()=>ft(e,n),[e,n]),x=m.length>0;return a.jsxs("div",{className:"match-centre__content",children:[a.jsxs("section",{className:"match-centre__feed-column","aria-labelledby":ee,children:[a.jsxs("div",{className:"match-centre__panel-head match-centre__panel-head--feed",children:[a.jsxs("div",{className:"match-centre__panel-head-lead",children:[h,a.jsxs("div",{className:"match-centre__panel-title-block",children:[a.jsxs("h2",{className:"match-centre__panel-title",id:ee,children:[a.jsx("span",{className:"match-centre__live-dot","aria-hidden":"true"}),"Live feed"]}),a.jsx("span",{className:"match-centre__panel-note text-3xs",children:"auto-updates"})]}),a.jsx(Ge,{})]}),a.jsxs("span",{className:"match-centre__panel-head-trail text-3xs",children:[a.jsx("b",{children:d})," ",d===1?"event":"events"," · ",c," games in play"]})]}),l]}),a.jsxs("aside",{className:"match-centre__rail-column","aria-labelledby":Ce,children:[a.jsxs("div",{className:"match-centre__panel-head",children:[a.jsx("h2",{className:"match-centre__panel-title",id:Ce,children:"Match centre"}),a.jsx("span",{className:"match-centre__panel-count text-3xs",children:J(g.length,"fixture")})]}),a.jsx(jn,{view:r,onChange:o}),a.jsx(rt,{leagues:m,selectedId:f,onSelect:p}),a.jsx(ot,{competitions:s,selectedId:n,onSelect:i}),!x&&a.jsx(dt,{}),x&&(r==="scores"?a.jsx(lt,{fixtures:g,isLoading:t,showAttendance:!0,allFixturesExpanded:!1}):a.jsx(ct,{competitionId:n,fixtures:g,isLoadingFixtures:t,isMobile:!1}))]})]})}function xa({activeTab:e,eventCount:t,fixtureCount:s,gamesInPlay:n}){const i={feed:J(t,"event"),scores:J(s,"fixture"),tables:"Standings"};return a.jsxs("span",{className:"match-centre__mobile-meta text-3xs",children:[a.jsx("b",{children:i[e]}),a.jsx("br",{}),n," games in play"]})}function ga({railFixtures:e,isRailLoading:t,competitions:s,selectedCompetitionId:n,onSelectCompetition:i,feed:r,eventCount:o,gamesInPlay:l,filters:d,activeTab:c,onTabChange:h,leagues:m,selectedLeagueId:f,onSelectLeague:p}){const g=u.useMemo(()=>ft(e,n),[e,n]),x=m.length>0;return a.jsxs("div",{className:"match-centre__mobile",children:[a.jsxs("div",{className:"match-centre__mobile-head",children:[a.jsx("div",{className:"match-centre__panel-title-block",children:a.jsxs("h2",{className:"match-centre__panel-title",id:ee,children:[c==="feed"&&a.jsx("span",{className:"match-centre__live-dot","aria-hidden":"true"}),ta[c]]})}),a.jsx(xa,{activeTab:c,eventCount:o,fixtureCount:g.length,gamesInPlay:l})]}),a.jsxs("div",{className:"match-centre__mobile-controls",children:[d,a.jsx("div",{className:"match-centre__tabs",role:"group","aria-label":"Match centre view",children:ea.map(_=>a.jsx("button",{type:"button","aria-pressed":c===_.id,onClick:()=>h(_.id),className:I("match-centre__tab",{"match-centre__tab--active":c===_.id}),children:_.label},_.id))}),a.jsx(Ge,{})]}),c==="feed"&&r,c!=="feed"&&a.jsxs(a.Fragment,{children:[a.jsx(rt,{leagues:m,selectedId:f,onSelect:p}),a.jsx(ot,{competitions:s,selectedId:n,onSelect:i})]}),c!=="feed"&&!x&&a.jsx(dt,{}),c==="scores"&&x&&a.jsx(lt,{fixtures:g,isLoading:t,showAttendance:!1,allFixturesExpanded:!1}),c==="tables"&&x&&a.jsx(ct,{competitionId:n,fixtures:g,isLoadingFixtures:t,isMobile:!0})]})}function va(){var pe,_e;const e=Yt(),{data:t}=se(),s=((pe=t==null?void 0:t.env)==null?void 0:pe.siteType)==="league";Qn(t==null?void 0:t.tenantId);const n=$e(),i=Ue(),r=V({withLiveScores:!0},Zn);na(r),Ms(),ia();const o=u.useMemo(()=>{var xe;return((xe=r.data)==null?void 0:xe.items)??[]},[(_e=r.data)==null?void 0:_e.items]),{fixtureCompetitionIds:l,selectedCompetitionIds:d,liveFeed:c,visibleEvents:h,gamesInPlay:m,hasActiveFilters:f}=ca(o),p=Us(c.events,!c.isLoading),{competitionIds:g,isLoading:x}=Vn({fixtureCompetitionIds:l,selectedCompetitionIds:d}),{leagues:_,selectedLeagueId:E,setSelectedLeagueId:L,divisions:S,selectedCompetitionId:b,setSelectedCompetitionId:w,railFixtures:pt,isRailLoading:_t}=Gn({competitions:i.data??[],tenantDivisionIds:n.data,isOrderReady:n.isFetched&&i.isFetched,fixtures:o,refetchInterval:B,selectedCompetitionIds:g}
1),xt=ha(o),gt=da(i.data),{railView:vt,setRailView:bt,mobileActiveTab:yt,setMobileActiveTab:Nt,focusCompetitionInRail:Et}=ma({competitions:i.data,fixturesResponse:r,fixtures:o,hasAnyGameStarted:xt,setSelectedLeagueId:L,setSelectedCompetitionId:w}),{isEmptyState:St,isLoadingState:Lt,hasFixturesToShow:jt}=sa({fixtureCount:o.length,hasFetchedFixtures:r.isFetched,isLoadingOrder:n.isLoading,isLoadingCompetitions:i.isLoading,isLoadingCompetitionFilter:x}),fe={isMobile:e,railFixtures:pt,isRailLoading:_t,competitions:S,selectedCompetitionId:b,onSelectCompetition:w,railView:vt,onRailViewChange:bt,feed:a.jsx(Cs,{events:h,isLoading:c.isLoading,isError:c.isError,hasActiveFilters:f,isLeagueSite:s,competitionLeagues:gt,eventFlash:p,onFocusCompetition:Et}),eventCount:h.length,gamesInPlay:m,leagues:_,selectedLeagueId:E,onSelectLeague:L,filters:a.jsx(bn,{isMobile:e,fixtureCompetitionIds:l,hasActiveFilters:f})};return a.jsxs("div",{className:"match-centre",children:[St&&a.jsx(fa,{}),Lt&&a.jsx("div",{className:"match-centre__loader-container",children:a.jsx(kt,{size:120})}),jt&&(e?a.jsx(ga,{...fe,activeTab:yt,onTabChange:Nt}):a.jsx(_a,{...fe}))]})}function ka(){var r,o;const{data:e}=se(),t=((r=e==null?void 0:e.env)==null?void 0:r.siteName)??"",s=((o=e==null?void 0:e.env)==null?void 0:o.entityName)??"",n=`${t} Fixtures & Live Matches Season 2026/27`,i=`View the ${s} fixtures for the 2026/27 season, visit the official website of the ${t}.`;return a.jsxs(a.Fragment,{children:[a.jsxs($t,{children:[a.jsx("title",{children:n}),a.jsx("meta",{name:"description",content:i}),a.jsx("meta",{property:"og:title",content:n}),a.jsx("meta",{property:"og:description",content:i}),a.jsx("meta",{name:"twitter:title",content:n}),a.jsx("meta",{name:"twitter:description",content:i})]}),a.jsx(Bt,{children:a.jsx(va,{})})]})}export{ka as MatchCentrePage,va as MatchCentrePageUI,ft as railFixturesFor,sa as resolvePageState,ca as useCompetitionFilteredFeed};
2//# sourceMappingURL=MatchCentre-BIKTNGmk.js.map

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.