PageSourceSearch

https://www.tottenhamhotspur.com/resources/ver/v2.0.96/scripts/mc-lineups-root.js

js tottenhamhotspur.com collected 2026-09-24 15:21:06 UTC 6,493 bytes, 1 lines download raw bytes

1import{P as e,i as a,n as s,v as i,be as n,w as t,ba as l,x as r,aZ as m,r as o}from"./bundle-es.js";import{r as p}from"./render-svg.js";import{d as u,i as c,s as d,k as _}from"./match-helpers.js";import{E as y}from"./EmptyState.js";import{u as f}from"./use-match-centre.js";function b({isSpurs:e,player:l}){if(!l)return null;const{id:r,firstName:m,lastName:o,shirtNum:p,redCard:u,yellowCard:c,subbedOn:d,subbedOff:_,goals:y,ownGoals:f,assists:b,isCaptain:g,secondYellowCard:N,knownName:h,subbedOnPlayer:v,subbedOffPlayer:k,subbedOnPeriod:q,subbedOffPeriod:O}=l,T=`${h||m+" "+o}`,$=`${a.staticFiles}/players/110x140/${r}.png`,I=`${a.staticFiles}/players/110x140/placeholder.png`,[R,L]=s(!0);return i("div",{className:"w-mc-lineups__player "+(_||d?"w-mc-lineups__player--subs":""),"data-testid":`mcLineupsPlayer${r}`},e&&R?i("a",{href:n(r,m,o),className:"w-mc-lineups__player-image",target:"_blank",rel:"noopener noreferrer"},i("img",{src:$,alt:T,onError:()=>L(!1)})):!R&&i("div",{className:"w-mc-lineups__player-image"},i("img",{src:I,alt:T})),i("div",{className:"w-mc-lineups__player-info"},i("div",{className:"w-mc-lineups__player-info-container"},i("div",{className:"w-mc-lineups__player-num"},p),i("div",{className:"w-mc-lineups__player-name"},T)),_&&i("div",{className:"w-mc-lineups__player-info-container"},i(w,{icon:"sub-on"}),v?i("div",{className:"w-mc-lineups__player-name w-mc-lineups__player-name--sub"},v.knownName||`${v.firstName} ${v.lastName}`):null),d&&i("div",{className:"w-mc-lineups__player-info-container"},i(w,{icon:"sub-off"}),k?i("div",{className:"w-mc-lineups__player-name w-mc-lineups__player-name--sub"},k.knownName||`${k.firstName} ${k.lastName}`):null)),i("div",{className:"w-mc-lineups__player-events"},y>0&&i(w,{icon:"football",quantity:y}),f>0&&i(w,{icon:"football",quantity:f,isOwnGoal:!0}),b>0&&i(w,{icon:"assist",quantity:b}),_&&i(w,{icon:"sub-off",minute:_,period:O}),d&&i(w,{icon:"sub-on",minute:d,period:q}),N?N&&i(w,{icon:"secondyellowcard"}):i(t,null,c&&i(w,{icon:"yellowcard"}),u&&i(w,{icon:"redcard"})),g&&i(w,{icon:"captain"})))}function w({icon:e,minute:a,quantity:s,label:n,period:t,isOwnGoal:l}){return i("div",{className:`w-mc-lineups__player-event w-mc-lineups__player-event--${e} ${l?"w-mc-lineups__player-event--own":""}`},void 0!==a&&i("span",{className:"w-mc-lineups__minute"},u(a,t)),void 0!==s&&s>1&&i("span",{className:"w-mc-lineups__minute"},s),void 0!==n&&i("span",{className:"w-mc-lineups__minute"},n),i(p,{name:e}))}b.propTypes={isSpurs:e.bool.isRequired,player:e.object},w.propTypes={icon:e.string.isRequired,minute:e.oneOfType([e.string,e.number]),quantity:e.number,label:e.oneOfType([e.string,e.number]),period:e.string,isOwnGoal:e.bool};function g({match:e,matchId:a,lineUp:s}){const{formation:n,managers:m=[]}=s,o=c(n?.teamId),p=d(e),{data:u}=l({id:a},{skip:!s,pollingInterval:p?3e4:void 0}),y=u?.homeTeam||{},f=u?.awayTeam||{},w=[...y?.goals||[],...f?.goals||[]],g=y?.id===s?.formation?.teamId?y:f,N=_(s?.players,{...g,goals:w}),h=Array.isArray(s?.formation?.lineup)?s.formation.lineup.map(e=>e.map(e=>N?.find(a=>a.id===e))):[],v=Array.isArray(s?.formation?.subs)?s.formation.subs.map(e=>N?.find(a=>a.id===e)):[],k=m.length>0?`${m[0]?.firstName||""} ${m[0]?.lastName||""}`.trim():r.lookup("label.lineups.unknownManager");return i("div",{className:"w-mc-lineups__team","data-testid":"mcLineupsTeam"},0!==h.length&&0!==v.length&&i(t,null,i("div",{className:"w-mc-lineups__team-info"},i("div",{className:"w-mc-lineups__details"},i("div",{className:"w-mc-lineups__detail"},n.formation,i("span",{className:"w-mc-lineups__separator"},"•"),r.lookup("label.lineups.manager"),":"," ",k))),i("div",{className:"w-mc-lineups__team-players"},i("div",{className:"w-mc-lineups__team-title-container"},i("h3",{className:"w-mc-lineups__team-title"},r.lookup("label.lineups.startingXI"))),i("div",{className:"w-mc-lineups__player-list","data-testid":"mcLineupsStartingList"},h?.map((e,a)=>e.map((e,s)=>i(b,{key:`starter-${a}-${s}`,player:e,isSpurs:o}))))),i("div",{className:"w-mc-lineups__team-players"},i("div",{className:"w-mc-lineups__team-title-container"},i("h3",{className:"w-mc-lineups__team-title"},r.lookup("label.lineups.substitutes"))),i("div",{className:"w-mc-lineups__player-list","data-testid":"mcLineupsSubsList"},v?.map((e,a)=>i(b,{key:`sub-${a}`,player:e,isSpurs:o}))))))}
1function N({match:e,matchId:a,lineUpData:n}){const t=c(e.homeTeam.id),l=t?e.awayTeam:e.homeTeam,m=t?n.home_team:n.away_team,o=t?n.away_team:n.home_team,[p,u]=s("spurs"),d="spurs"===p,_="opponent"===p,f=r.lookup("label.spurs"),b=l.name;return i("div",{className:"w-mc-lineups__container","data-testid":"mcLineups"},i("fieldset",{"aria-label":r.lookup("label.lineups.toggleTeams"),className:"o-segmented-control"},i("button",{type:"button","aria-pressed":d,className:"o-segmented-control__button "+(d?"o-segmented-control__button--is-active":""),onClick:()=>u("spurs")},f),i("button",{type:"button","aria-pressed":_,className:"o-segmented-control__button "+(_?"o-segmented-control__button--is-active":""),onClick:()=>u("opponent")},b)),d&&(m.formation.lineup?.length>0?i(g,{match:e,matchId:a,lineUp:m}):i(y,{title:r.lookup("label.lineups.noLineups"),"data-testid":"mcLineupsSpursEmpty"})),_&&(o.formation.lineup?.length>0?i(g,{match:e,matchId:a,lineUp:o}):i(y,{title:r.lookup("label.lineups.noLineups"),"data-testid":"mcLineupsOpponentEmpty"})))}g.propTypes={match:e.object.isRequired,matchId:e.oneOfType([e.string,e.number]).isRequired,lineUp:e.shape({name:e.string,managers:e.arrayOf(e.shape({firstName:e.string,lastName:e.string})),players:e.arrayOf(e.shape({id:e.string.isRequired,firstName:e.string.isRequired,lastName:e.string.isRequired,position:e.string.isRequired,shirtNum:e.string})),formation:e.shape({teamId:e.string,formation:e.string,lineup:e.arrayOf(e.arrayOf(e.string)),subs:e.arrayOf(e.string)}).isRequired}).isRequired},N.propTypes={match:e.object.isRequired,lineUpData:e.object.isRequired,matchId:e.string.isRequired};function h(e){const{matchId:a,showLineups:s}=e,{match:n}=f(a);if(!n)return null;const t=d(n),{data:l}=m({id:a},{skip:!n,pollingInterval:!!t&&3e4});if(o(()=>{(l?.home_team.formation?.lineup?.length>0||l?.away_team.formation?.lineup?.length>0)&&s()},[l]),!l)return null;return!(!l.home_team.players.length&&!l.away_team.players.length)?i("div",{className:"w-mc-lineups"},i(N,{match:n,matchId:a,lineUpData:l})):null}h.propTypes={matchId:e.oneOfType([e.string,e.number]).isRequired,showLineups:e.func};export{h 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.