PageSourceSearch

https://sokapal.ai/assets/TeamView-CviBjXHe.js

js sokapal.ai collected 2026-10-05 15:16:53 UTC 37,478 bytes, 1 lines download raw bytes

1import{r as e,j as a,c as t,R as s,k as l}from"./vendor-react-DbsVTsKS.js";import{d as r,G as n,I as o,L as i,y as d,M as c,S as m,J as g,K as u,N as x,w as y,x as h,Q as b,A as v,B as p,R as f,T as j,U as w}from"./index-Dirtnqiz.js";import{u as N}from"./vendor-i18n-DiTKF2NC.js";import{bh as _,T as S,aP as P,aQ as D,a7 as k,bu as C,bv as A,bw as G}from"./app-constants-D3ojol5R.js";import{u as M}from"./useSwipeNavigation-DHzmazcw.js";import{S as T}from"./SokaChatView-DpGkErno.js";import{x as L,z as F}from"./vendor-ui-B_XW8Pya.js";import"./vendor-charts-CG7l663-.js";import"./vendor-otel-B3hnpEUX.js";import"./vendor-virtuoso-CT6D0QVj.js";import"./vendor-markdown-CiT-VfZw.js";import"./SokapalAIChatCard-CEttPGxv.js";const I=()=>{var t,s;const{isDarkMode:l}=r(),{t:n}=N(),{teamData:o,processedTeamData:i,teamLeagues:d,selectedLeague:c,setSelectedLeague:m,isBundleLoading:g}=e.useContext(z),[u,x]=e.useState(!1),y=e.useRef(null);if(e.useEffect(()=>{const e=e=>{y.current&&!y.current.contains(e.target)&&x(!1)};if(u)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[u]),!o)return null;const{team:h,league:b}=o,v=null==i?void 0:i.headerData,p=(null==c?void 0:c.leagueId)??(null==b?void 0:b.id),f=d.find(e=>Number(e.leagueId)===Number(p));return a.jsxs("div",{className:"mb-1 sm:mb-2 overflow-hidden rounded-lg relative shadow-sm "+(l?"bg-gray-800":"bg-gray-50"),children:[a.jsx("div",{className:`absolute inset-0 bg-gradient-to-b ${l?"from-blue-900 via-blue-950 to-transparent":"from-blue-100 via-blue-50 to-transparent"} opacity-30`}),a.jsxs("div",{className:"p-2 sm:p-3 text-center relative z-10",children:[a.jsx("div",{className:"mb-1 text-xs font-medium flex items-center justify-center gap-1 "+(l?"text-gray-300":"text-gray-700"),children:d.length>1?a.jsxs("div",{className:"relative",ref:y,children:[a.jsxs("button",{onClick:()=>!g&&x(e=>!e),disabled:g,className:`flex items-center gap-2 pl-3 pr-2 py-1.5 text-xs border rounded-md focus:outline-none focus:ring-2 transition-colors ${l?"bg-gray-700 border-gray-600 text-gray-200 hover:bg-gray-600 focus:ring-blue-500":"bg-white border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-blue-500"} disabled:opacity-50 disabled:cursor-not-allowed`,"aria-label":n("teams.selectLeague","Select league"),children:[a.jsxs("span",{className:"max-w-[160px] truncate",children:[(null==f?void 0:f.leagueName)??(null==b?void 0:b.leagueName)??"League",(null==f?void 0:f.country)??(null==b?void 0:b.country)?` · ${(null==f?void 0:f.country)??(null==b?void 0:b.country)}`:""]}),g?a.jsx("span",{className:"inline-block w-3 h-3 border-2 border-t-transparent rounded-full animate-spin flex-shrink-0 "+(l?"border-gray-400":"border-gray-500")}):a.jsx(L,{className:`w-3 h-3 flex-shrink-0 transition-transform ${u?"rotate-180":""} ${l?"text-gray-400":"text-gray-500"}`})]}),u&&a.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 mt-1 min-w-[200px] border rounded-md shadow-lg overflow-hidden z-30 "+(l?"bg-gray-700 border-gray-600":"bg-white border-gray-300"),children:d.map(e=>{const t=Number(p)===Number(e.leagueId);return a.jsxs("button",{onClick:()=>(e=>{m({leagueId:e.leagueId,leagueName:e.leagueName,country:e.country}),x(!1)})(e),className:"w-full flex items-center gap-2 px-3 py-2.5 text-xs transition-colors text-left "+(t?l?"bg-blue-900 text-blue-200":"bg-blue-50 text-blue-700":l?"text-gray-200 hover:bg-gray-600":"text-gray-700 hover:bg-gray-100"),children:[a.jsxs("span",{className:"flex-1",children:[e.leagueName,e.country?` · ${e.country}`:""]}),t&&a.jsx("span",{className:"flex-shrink-0 text-xs "+(l?"text-blue-400":"text-blue-600"),children:"✓"})]},e.leagueId)})})]}):a.jsxs("span",{children:[(null==c?void 0:c.leagueName)??(null==b?void 0:b.leagueName)??"League",((null==c?void 0:c.country)??(null==b?void 0:b.country))&&` • ${(null==c?void 0:c.country)??(null==b?void 0:b.country)}`]})}),a.jsxs("div",{className:"flex flex-col items-center mb-2",children:[a.jsx("div",{className:"w-12 h-12 sm:w-14 sm:h-14 mb-1 flex items-center justify-center",children:h.image?a.jsx("img",{src:_(h.image),alt:`${h.name} logo`,className:"w-full h-full object-contain",loading:"lazy",decoding:"async",onError:e=>e.target.src="/placeholder-team.png"}):a.jsx("div",{className:"w-full h-full bg-blue-600 rounded-full flex items-center justify-center",children:a.jsx("span",{className:"text-white text-sm font-bold",children:(null==(t=h.name)?void 0:t.charAt(0))||"T"})})}),a.jsx("h1",{className:"font-medium mb-0.5 "+(l?"text-gray-100":"text-gray-800"),style:{fontSize:"24px"},children:h.name}),h.cleanName&&h.cleanName!==h.name&&a.jsx("p",{className:"text-xs "+(l?"text-gray-400":"text-gray-600"),children:h.cleanName})]}),v&&a.jsxs("div",{className:"grid grid-cols-3 gap-2 text-center mb-2",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-sm sm:text-base font-semibold "+(l?"text-gray-100":"text-gray-800"),children:v.wins||0}),a.jsx("div",{className:"text-xs "+(l?"text-gray-400":"text-gray-600"),children:n("teams.headerWins")})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-sm sm:text-base font-semibold "+(l?"text-gray-100":"text-gray-800"),children:v.matchesPlayed||0}),a.jsx("div",{className:"text-xs "+(l?"text-gray-400":"text-gray-600"),children:n("teams.headerPlayed")})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-sm sm:text-base font-semibold "+(l?"text-gray-100":"text-gray-800"),children:(null==(s=v.ppg)?void 0:s.toFixed(1))||"0.0"}),a.jsx("div",{className:"text-xs "+(l?"text-gray-400":"text-gray-600"),children:n("teams.headerPpg")})]})]}),v&&v.form&&v.form.length>0&&a.jsxs("div",{className:"flex justify-center items-center space-x-1",children:[a.jsx("span",{className:"text-xs mr-1 "+(l?"text-gray-400":"text-gray-600")}),v.form.slice(-5).split("").map((e,t)=>{const s="w"===e.toLowerCase()?"bg-green-600":"l"===e.toLowerCase()?"bg-red-600":"bg-yellow-600";return a.jsx("div",{className:`w-4 h-4 ${s} rounded-sm flex items-center justify-center text-white text-xs font-bold`,children:e.toUpperCase()},t)})]})]})]})},$=()=>{const{teamData:t,selectedLeague:s}=e.useContext(z),{isDarkMode:l}
1=r(),{t:i}=N(),[d,c]=e.useState("Fixtures"),[m,g]=e.useState({fixtures:[],results:[]}),[u,x]=e.useState(!0),y=e.useRef(null);e.useEffect(()=>{var e,a;const l=null==(e=null==t?void 0:t.team)?void 0:e.id,r=(null==s?void 0:s.leagueId)??(null==(a=null==t?void 0:t.league)?void 0:a.id);if(!l||!r)return;const n=`${l}_${r}`;y.current!==n&&(y.current=n,h())},[t,s]);const h=async()=>{var e;try{x(!0);const a=t.team.id,l=(null==s?void 0:s.leagueId)??(null==(e=t.league)?void 0:e.id);if(!l)return void g({fixtures:[],results:[]});const r=await n(a,l,0,50),o=Math.floor(Date.now()/1e3),i=[],d=[];r.forEach(e=>{("upcoming"===e.status||"incomplete"===e.status)&&e.date_unix>o?i.push(e):("complete"===e.status||e.date_unix<=o)&&d.push(e)}),i.sort((e,a)=>e.date_unix-a.date_unix),d.sort((e,a)=>a.date_unix-e.date_unix),g({fixtures:i,results:d})}catch(a){g({fixtures:[],results:[]})}finally{x(!1)}};return t?a.jsxs("div",{className:"flex flex-col w-full",children:[a.jsxs("div",{className:"flex border-b mb-4 "+(l?"border-gray-700":"border-gray-200"),children:[a.jsx("button",{className:"flex-1 py-2 text-center text-sm font-medium border-b-2 transition-colors duration-200 "+("Fixtures"===d?l?"border-blue-500 text-blue-400":"border-blue-500 text-blue-600":l?"border-transparent text-gray-400 hover:text-gray-200":"border-transparent text-gray-500 hover:text-gray-700"),onClick:()=>c("Fixtures"),children:i("teams.fixtures")}),a.jsx("button",{className:"flex-1 py-2 text-center text-sm font-medium border-b-2 transition-colors duration-200 "+("Results"===d?l?"border-blue-500 text-blue-400":"border-blue-500 text-blue-600":l?"border-transparent text-gray-400 hover:text-gray-200":"border-transparent text-gray-500 hover:text-gray-700"),onClick:()=>c("Results"),children:i("teams.results")})]}),u?a.jsxs("div",{className:"text-center py-8",children:[a.jsx("div",{className:"animate-spin w-6 h-6 border-2 border-t-transparent rounded-full mx-auto mb-2 "+(l?"border-blue-400":"border-blue-500")}),a.jsx("p",{className:l?"text-gray-400":"text-gray-500",children:i("teams.loadingMatches")})]}):a.jsxs("div",{children:["Fixtures"===d&&a.jsx("div",{children:m.fixtures.length>0?a.jsx("div",{className:"space-y-2",children:m.fixtures.map(e=>a.jsx(o,{match:e,league:t.league},e.id))}):a.jsx("div",{className:"text-center py-8 "+(l?"text-gray-400":"text-gray-500"),children:i("teams.noUpcomingFixtures")})}),"Results"===d&&a.jsx("div",{children:m.results.length>0?a.jsx("div",{className:"space-y-2",children:m.results.map(e=>a.jsx(o,{match:e,league:t.league},e.id))}):a.jsx("div",{className:"text-center py-8 "+(l?"text-gray-400":"text-gray-500"),children:i("teams.noRecentResults")})})]})]}):a.jsx("div",{className:"text-center py-8 "+(l?"text-gray-400":"text-gray-500"),children:i("teams.teamDataNotAvailable")})},R=({teamData:t,mockMatchDetailsData:s})=>{const{isDarkMode:l}=r(),{t:n}=N(),{leagueTeamsStatsData:o}=e.useContext(i),{leagueTablesData:g}=e.useContext(d),u={matchDetailsData:s,setMatchDetailsData:()=>{}};return g?a.jsx(c.Provider,{value:u,children:a.jsx(m,{})}):a.jsxs("div",{className:"text-center py-8",children:[a.jsx("div",{className:"animate-spin w-6 h-6 border-2 border-t-transparent rounded-full mx-auto mb-2 "+(l?"border-blue-400":"border-blue-500")}),a.jsx("p",{className:l?"text-gray-400":"text-gray-500",children:n("teams.loadingLeagueStandings")})]})},E=e=>{if(!(null==e?void 0:e.matchesPlayed)||0===e.matchesPlayed)return"0%";const a=e.wins/e.matchesPlayed*100;return`${Math.round(a)}%`},O=()=>{var t,s;const{isDarkMode:l}=r(),{t:n}=N(),{teamData:o,processedTeamData:i}=e.useContext(z);if(!o)return a.jsx("div",{className:"text-center py-8 "+(l?"text-gray-400":"text-gray-500"),children:n("teams.teamDataNotAvailable")});const d={league:o.league,match:{homeID:o.team.id,awayID:o.team.id,homeName:o.team.name,awayName:o.team.name}};return a.jsx("div",{className:"flex flex-col w-[calc(100%+2rem)] -mx-4",children:a.jsxs("div",{className:"rounded-none sm:rounded-lg p-2 sm:p-4 "+(l?"bg-gray-800":"bg-gray-100"),children:[a.jsxs("div",{className:"flex justify-between items-center mb-4 px-2 sm:px-0",children:[a.jsx("h3",{className:"text-lg font-semibold "+(l?"text-gray-100":"text-gray-800"),children:n("teams.leagueTable",{name:(null==(t=o.league)?void 0:t.leagueName)||n("teams.league")})}),(null==(s=o.league)?void 0:s.country)&&a.jsx("span",{className:"text-sm "+(l?"text-gray-400":"text-gray-600"),children:o.league.country})]}),a.jsx(R,{teamData:o,mockMatchDetailsData:d}),(null==i?void 0:i.summaryData)&&a.jsxs("div",{className:"mt-4 mx-2 sm:mx-0 p-3 rounded-lg "+(l?"bg-gray-700":"bg-white"),children:[a.jsx("h4",{className:"font-semibold mb-2 "+(l?"text-gray-100":"text-gray-800"),children:n("teams.teamSummary")}
1),a.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsxs("span",{className:l?"text-gray-300":"text-gray-600",children:[n("teams.leaguePosition"),":"]}),a.jsx("span",{className:"ml-2 font-semibold "+(l?"text-gray-100":"text-gray-800"),children:i.summaryData.position||"N/A"})]}),a.jsxs("div",{children:[a.jsxs("span",{className:l?"text-gray-300":"text-gray-600",children:[n("teams.stats.winRate"),":"]}),a.jsx("span",{className:"ml-2 font-semibold "+(l?"text-gray-100":"text-gray-800"),children:E(i.summaryData)})]}),a.jsxs("div",{children:[a.jsxs("span",{className:l?"text-gray-300":"text-gray-600",children:[n("teams.points"),":"]}),a.jsx("span",{className:"ml-2 font-semibold "+(l?"text-gray-100":"text-gray-800"),children:i.summaryData.points||"N/A"})]}),a.jsxs("div",{children:[a.jsxs("span",{className:l?"text-gray-300":"text-gray-600",children:[n("teams.stats.goalDifference"),":"]}),a.jsxs("span",{className:"ml-2 font-semibold "+(l?"text-gray-100":"text-gray-800"),children:[i.summaryData.goalDifference>=0?"+":"",i.summaryData.goalDifference||"N/A"]})]})]})]})]})})},V=()=>{const{isDarkMode:s}=r(),{t:l}=N(),n=t(),{teamData:o,selectedLeague:i}=e.useContext(z),[d,c]=e.useState([]),[m,y]=e.useState(!0),[h,b]=e.useState("All"),v={All:l("teams.positionAll"),Goalkeeper:l("teams.positionGoalkeeper"),Defender:l("teams.positionDefender"),Midfielder:l("teams.positionMidfielder"),Forward:l("teams.positionForward")},p={Goalkeeper:l("teams.positionGoalkeepers"),Defender:l("teams.positionDefenders"),Midfielder:l("teams.positionMidfielders"),Forward:l("teams.positionForwards")};e.useEffect(()=>{var e;(null==(e=null==o?void 0:o.team)?void 0:e.id)&&f()},[o,i]);const f=async()=>{var e;try{y(!0);const a=o.team.id,t=(null==i?void 0:i.leagueId)??(null==(e=o.league)?void 0:e.id);if(!t)return void c([]);const s=await g(t,S);if(!s)return void c([]);const l=u(a,s);if(!l||0===l.length)return void c([]);const r=l.map(e=>({id:e.id,first_name:e.first_name,last_name:e.last_name,known_as:e.known_as||e.getDisplayName(),position:e.position,age:e.age,nationality:e.nationality,goals_overall:e.goals_overall,assists_overall:e.assists_overall,url:e.url,appearances_overall:e.appearances_overall,minutes_played_overall:e.minutes_played_overall,yellow_cards:e.yellow_cards_overall,red_cards:e.red_cards_overall,clean_sheets:e.clean_sheets_overall,penalty_goals:e.penalty_goals,height:e.height,weight:e.weight}));c(r)}catch(a){c([])}finally{y(!1)}},j=e=>{const a=e.toLowerCase();return a.includes("gk")||a.includes("goalkeeper")||a.includes("keeper")?"bg-yellow-400 text-black":a.includes("cb")||a.includes("lb")||a.includes("rb")||a.includes("def")||a.includes("lwb")||a.includes("rwb")?"bg-blue-500 text-white":a.includes("cm")||a.includes("dm")||a.includes("am")||a.includes("lm")||a.includes("rm")||a.includes("mid")?"bg-green-500 text-white":a.includes("st")||a.includes("cf")||a.includes("lw")||a.includes("rw")||a.includes("forward")||a.includes("att")?"bg-red-500 text-white":"bg-gray-400 text-white"},w=e=>{if(!e)return"Forward";const a=e.toLowerCase();return a.includes("gk")||a.includes("goalkeeper")||a.includes("keeper")?"Goalkeeper":a.includes("cb")||a.includes("lb")||a.includes("rb")||a.includes("def")||a.includes("lwb")||a.includes("rwb")?"Defender":a.includes("cm")||a.includes("dm")||a.includes("am")||a.includes("lm")||a.includes("rm")||a.includes("mid")?"Midfielder":(a.includes("st")||a.includes("cf")||a.includes("lw")||a.includes("rw")||a.includes("forward")||a.includes("att"),"Forward")},_="All"===h?d:d.filter(e=>w(e.position)===h),k=_.reduce((e,a)=>{const t=w(a.position);return e[t]||(e[t]=[]),e[t].push(a),e},{}),C=e=>{var a,t,s,l;if(!(null==e?void 0:e.id))return;const r={id:(null==i?void 0:i.leagueId)??(null==(a=null==o?void 0:o.league)?void 0:a.id),leagueName:(null==i?void 0:i.leagueName)??(null==(t=null==o?void 0:o.league)?void 0:t.leagueName),country:(null==i?void 0:i.country)??(null==(s=null==o?void 0:o.league)?void 0:s.country),season:null==(l=null==o?void 0:o.league)?void 0:l.season},d={id:e.id,name:e.known_as||`${e.first_name||""} ${e.last_name||""}`.trim(),cleanName:e.known_as,image:e.url,position:e.position,age:e.age,nationality:e.nationality},c=P(d,o.team,r);D(n,e.id,c)};return o?m?a.jsxs("div",{className:"text-center py-8",children:[a.jsx("div",{className:"animate-spin w-6 h-6 border-2 border-t-transparent roun
1ded-full mx-auto mb-2 "+(s?"border-blue-400":"border-blue-500")}),a.jsx("p",{className:s?"text-gray-400":"text-gray-500",children:l("teams.loadingSquad")})]}):a.jsxs("div",{className:"flex flex-col w-full",children:[a.jsx("div",{className:"flex overflow-x-auto mb-4 pb-2",children:["All","Goalkeeper","Defender","Midfielder","Forward"].map(e=>a.jsx("button",{className:"flex-shrink-0 px-3 py-2 mr-2 text-sm rounded-full transition-colors "+(h===e?s?"bg-blue-600 text-white":"bg-blue-500 text-white":s?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"),onClick:()=>b(e),children:v[e]||e},e))}),_.length>0?a.jsx("div",{className:"space-y-4",children:"All"===h?Object.entries(k).map(([e,t])=>a.jsxs("div",{className:"rounded-lg p-4 "+(s?"bg-gray-800":"bg-gray-100"),children:[a.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center "+(s?"text-gray-100":"text-gray-800"),children:[a.jsx("span",{className:`w-3 h-3 rounded-full mr-2 ${j(e)}`}),p[e]||`${e}s`]}),a.jsx("div",{className:"grid gap-3",children:t.sort((e,a)=>a.goals_overall!==e.goals_overall?a.goals_overall-e.goals_overall:a.appearances_overall!==e.appearances_overall?a.appearances_overall-e.appearances_overall:(e.known_as||e.first_name||"").localeCompare(a.known_as||a.first_name||"")).map(e=>a.jsx(x,{player:e,onClick:()=>C(e),stats:[{key:"appearances_overall",label:"Apps"},{key:"goals_overall",label:"G",colorClass:"text-green-400"},{key:"assists_overall",label:"A",colorClass:"text-blue-400"}]},e.id))})]},e)):a.jsxs("div",{className:"rounded-lg p-4 "+(s?"bg-gray-800":"bg-gray-100"),children:[a.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center "+(s?"text-gray-100":"text-gray-800"),children:[a.jsx("span",{className:`w-3 h-3 rounded-full mr-2 ${j(h)}`}),p[h]||`${h}s`]}),a.jsx("div",{className:"grid gap-3",children:_.sort((e,a)=>a.goals_overall!==e.goals_overall?a.goals_overall-e.goals_overall:a.appearances_overall!==e.appearances_overall?a.appearances_overall-e.appearances_overall:(e.known_as||e.first_name||"").localeCompare(a.known_as||a.first_name||"")).map(e=>a.jsx(x,{player:e,onClick:()=>C(e),stats:[{key:"appearances_overall",label:"Apps"},{key:"goals_overall",label:"G",colorClass:"text-green-400"},{key:"assists_overall",label:"A",colorClass:"text-blue-400"}]},e.id))})]})}):a.jsx("div",{className:"text-center py-8 "+(s?"text-gray-400":"text-gray-500"),children:"All"===h?l("teams.noPlayersFoundAny"):l("teams.noPlayersFound",{position:v[h]||h})})]}):a.jsx("div",{className:"text-center py-8 "+(s?"text-gray-400":"text-gray-500"),children:l("teams.teamDataNotAvailable")})},B=()=>{const{isDarkMode:t}=r(),{t:s}=N(),{teamData:l,processedTeamData:n}=e.useContext(z),[o,i]=e.useState("Overall"),[d,c]=e.useState(!1),m={Overall:s("teams.stats.overall"),Home:s("teams.stats.home"),Away:s("teams.stats.away")},g=e=>`${Math.round(e)}%`,u=(e,a=2)=>Number(e).toFixed(a);if(!l||!(null==n?void 0:n.statsData))return a.jsxs("div",{className:"text-center py-8 "+(t?"text-gray-400":"text-gray-500"),children:[a.jsx("div",{className:"animate-spin w-6 h-6 border-2 border-t-transparent rounded-full mx-auto mb-2 "+(t?"border-blue-400":"border-blue-500")}),a.jsx("p",{children:s("teams.loadingTeamStatistics")})]});const x=((e,a)=>{if(!e)return null;if("Overall"===a)return{matchesPlayed:e.matchesPlayed||0,wins:e.wins||0,draws:e.draws||0,losses:e.losses||0,winPercentage:e.matchesPlayed>0?e.wins/e.matchesPlayed*100:0,goalsScored:e.avgGoalsScored||0,goalsConceded:e.avgGoalsConceded||0,goalDifference:e.goalDifference||0,pointsPerGame:e.ppg||0,cleanSheets:e.cleanSheetPercentage||0,failedToScore:e.ftsPercentage||0,bothTeamsScore:e.bttsPercentage||0,xgFor:e.xgFor||0,xgAgainst:e.xgAgainst||0,over05:e.over05||0,over15:e.over15||0,over25:e.over25||0,over35:e.over35||0};if("Home"===a){const a=Math.round(e.matchesPlayed/2);return{matchesPlayed:a,wins:e.homeWins||0,draws:e.homeDraws||0,losses:e.homeLosses||0,winPercentage:a>0?e.homeWins/a*100:0,goalsScored:a>0?e.homeGoalsFor/a:0,goalsConceded:a>0?e.homeGoalsAgainst/a:0,goalDifference:(e.homeGoalsFor||0)-(e.homeGoalsAgainst||0),pointsPerGame:e.homePPG||0,cleanSheets:e.cleanSheetPercentage||0,failedToScore:e.ftsPercentage||0,bothTeamsScore:e.bttsPercentage||0,xgFor:e.xgFor||0,xgAgainst:e.xgAgainst||0}}{const a=Math.round(e.matchesPlayed/2);return{matchesPlayed:a,wins:e.awayWins||0,draws:e.awayDraws||0,losses:e.awayLosses||0,winPercentage:a>0?e.awayWins/a*100:0,goalsScored:a>0?e.awayGoalsFor/a:0,goalsConceded:a>0?e.awayGoalsAgainst/a:0,goalDifference:(e.awayGoalsFor||0)-(e.awayGoalsAgainst||0),pointsPerGame:e.awayPPG||0,cleanSheets:e.cleanSheetPercentage||0,failedToScore:e.ftsPercentage||0,bothTeamsScore:e.bttsPercentage||0,xgFor:e.xgFor||0,xgAgainst:e.xgAgainst||0}}})(n.statsData,o),y=n.headerData;return a.jsxs("div",{className:"flex flex-col w-full",children:[a.jsx("div",{className:"flex border-b mb-6 "+(t?"border-gray-700":"border-gray-200"),children:["Overall","Home","Away"].map(e=>a.jsx("button",{className:"flex-1 py-2 text-center text-sm font-medium border-b-2 transition-colors duration-200 "+(o===e?t?"border-blue-400 text-blue-400":"border-blue-500 text-blue-600":t?"border-transparent text-gray-400 hover:text-gray-300":"border-transparent text-gray-500 hover:text-gray-700"),onClick:()=>i(e),children:m[e]||e},e))}),a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-4 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.basicPerformance")}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(H,{label:s("teams.stats.matchesPlayed"),value:x.matchesPlayed,type:"number",color:"text-blue-600"}),a.jsx(H,{label:s("teams.stats.winRate"),value:g(x.winPercentage),type:"percentage",color:"text-green-600"}),a.jsx(H,{label:s("teams.stats.pointsPerGame"),value:u(x.pointsPerGame),t
1ype:"decimal",color:"text-blue-600"}),a.jsx(H,{label:s("teams.stats.goalDifference"),value:x.goalDifference>0?`+${x.goalDifference}`:x.goalDifference,type:"number",color:x.goalDifference>=0?"text-green-600":"text-red-600"})]})]}),a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-4 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.record")}),a.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[a.jsx(H,{label:s("teams.stats.wins"),value:x.wins,type:"number",color:"text-green-600"}),a.jsx(H,{label:s("teams.stats.draws"),value:x.draws,type:"number",color:"text-yellow-600"}),a.jsx(H,{label:s("teams.stats.losses"),value:x.losses,type:"number",color:"text-red-600"})]})]}),a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-4 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.goalsSection")}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(H,{label:s("teams.stats.goalsScored"),value:u(x.goalsScored),type:"decimal",color:"text-green-600"}),a.jsx(H,{label:s("teams.stats.goalsConceded"),value:u(x.goalsConceded),type:"decimal",color:"text-red-600"}),a.jsx(H,{label:s("teams.stats.cleanSheets"),value:g(x.cleanSheets),type:"percentage",color:"text-blue-600"}),a.jsx(H,{label:s("teams.stats.failedToScore"),value:g(x.failedToScore),type:"percentage",color:"text-orange-600"})]})]}),a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-4 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.advancedStats")}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(H,{label:s("teams.stats.expectedGoals"),value:u(x.xgFor),type:"decimal",color:"text-purple-600"}),a.jsx(H,{label:s("teams.stats.xgAgainst"),value:u(x.xgAgainst),type:"decimal",color:"text-purple-600"}),a.jsx(H,{label:s("teams.stats.bothTeamsScore"),value:g(x.bothTeamsScore),type:"percentage",color:"text-indigo-600"}),a.jsx(H,{label:s("teams.stats.xgDifference"),value:u(x.xgFor-x.xgAgainst),type:"decimal",color:x.xgFor>=x.xgAgainst?"text-green-600":"text-red-600"})]})]}),"Overall"===o&&void 0!==x.over05&&a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-4 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.goalMarkets")}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(H,{label:s("teams.stats.over05"),value:g(x.over05),type:"percentage",color:"text-green-600"}),a.jsx(H,{label:s("teams.stats.over15"),value:g(x.over15),type:"percentage",color:"text-blue-600"}),a.jsx(H,{label:s("teams.stats.over25"),value:g(x.over25),type:"percentage",color:"text-orange-600"}),a.jsx(H,{label:s("teams.stats.over35"),value:g(x.over35),type:"percentage",color:"text-red-600"})]})]}),y&&(()=>{let e,l;return"Home"===o?(e=y.formHome,l=s("teams.stats.lastHomeGames")):"Away"===o?(e=y.formAway,l=s("teams.stats.lastAwayGames")):(e=y.form,l=s("teams.stats.lastGames")),e&&e.length>0?a.jsxs("div",{className:"rounded-lg p-4 "+(t?"bg-gray-800":"bg-gray-100"),children:[a.jsx("h3",{className:"text-lg font-semibold mb-2 "+(t?"text-gray-100":"text-gray-800"),children:s("teams.stats.recentForm")}),a.jsx("div",{className:"text-center mb-3",children:a.jsx("span",{className:"text-sm "+(t?"text-gray-400":"text-gray-600"),children:l})}),a.jsx("div",{className:"flex justify-center items-center space-x-2 mb-4",children:e.slice(-10).split("").map((e,t)=>{const s="w"===e.toLowerCase()?"bg-green-600":"l"===e.toLowerCase()?"bg-red-600":"bg-yellow-600",l=e.toUpperCase();return a.jsx("div",{className:`w-8 h-8 ${s} rounded flex items-center justify-center text-white text-sm font-bold`,title:"W"===l?"Win":"L"===l?"Loss":"Draw",children:l},t)})}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:(()=>{const l=e.slice(-10),r=(l.match(/w/gi)||[]).length,n=(l.match(/d/gi)||[]).length,o=(l.match(/l/gi)||[]).length;return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"text-lg font-semibold "+(t?"text-green-400":"text-green-600"),children:r}),a.jsx("div",{className:"text-xs "+(t?"text-gray-400":"text-gray-600"),children:s("teams.stats.wins")})]}),a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"text-lg font-semibold "+(t?"text-yellow-400":"text-yellow-600"),children:n}),a.jsx("div",{className:"text-xs "+(t?"text-gray-400":"text-gray-600"),children:s("teams.stats.draws")})]}),a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"text-lg font-semibold "+(t?"text-red-400":"text-red-600"),children:o}),a.jsx("div",{className:"text-xs "+(t?"text-gray-400":"text-gray-600"),children:s("teams.stats.losses")})]})]})})()})]}):null})()]})]})},H=({label:e,value:t,type:s,color:l="text-gray-800"})=>{const{isDarkMode:n}=r(),o=n&&l.includes("text-")?l.replace("600","400").replace("500","400"):l;return a.jsx("div",{className:"rounded-lg p-3 shadow-sm border "+(n?"bg-gray-700 border-gray-600":"bg-white border-gray-200"),children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:`text-xl font-bold ${o}`,children:t}),a.jsx("div",{className:"text-xs mt-1 "+(n?"text-gray-400":"text-gray-600"),children:e})]})})},W=()=>{var t;const{teamData:s}=e.useContext(z),l=null==(t=null==s?void 0:s.team)?void 0:t.id;return a.jsx(y,{context:"team",entityId:l})},q=()=>{const[t,l]=e.useState("Matches"),{isDarkMode:n}=r(),{t:o}=N(),i={Matches:o("teams.tabMatches"),Table:o("teams.tabStandings"),Squad:o("teams.tabSquad"),Stats:o("teams.tabStats"),Media:o("teams.tabMedia","Media")},d=["Matches","Table","Squad","Stats",...k?["Media"]:[]],c=d.indexOf(t),{swipeHandlers:m,isSwiping:g}=M(d,c,e=>{l(d[e])},{threshold:50,velocity:.3,preventScroll:!0,enableHapticFeedback:!0});return s.useEffect(()=>{(()=>{const e=document.querySelector(".tab-navigation"),a=document.querySelector(`[data-tab="${t}"]`);if(e&&a){const t=e.getBoundingClientRect(),s=a.getBoundingClientRect();(s.left<t.left||s.right>t.right)&&a.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})}})()},[t]),a.jsxs("div",{className:"flex flex-col w-full",children:[a.jsx("div",{className:"tab-navigation flex overflow-x-auto border-b mx-4 mt-0 mb-6 scrollbar-hide "+(n?"border-gray-700":"border-gray-300"),children:d.map((e,s)=>a.jsxs("button",{"data-tab":e,className:"flex-shrink-0 py-3 px-4 text-center text-sm font-medium border-b-2 transition-all duration-200 "+(t===e?n?"border-blue-500 text-blue-400 scale-105":"border-blue-500 text-blue-600 scale-105":n?"border-transparent text-gray-400 hover:text-gray-200 hover:border-gray-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"),onClick:()=>l(e),children:[i[e]||e,a.jsx("div",{className:"flex justify-center mt-1",children:a.jsx("div",{className:"w-1 h-1 rounded-full transition-colors duration-200 "+(t===e?"bg-blue-500":"bg-transparent")})})]},e))}),a.jsx("div",{className:"px-4 transition-all duration-200 ease-out "+(g?"scale-98 opacity-90":"scale-100 opacity-100"),...m,style:{touchAction:"pan-y",transform:g?"translateY(-2px)":"translateY(0px)"},children:a.jsxs("div",{className:"transition-opacity duration-150 "+(g?"opacity-70":"opacity-100"),children:["Matches"===t&&a.jsx($,{}),"Table"===t&&a.jsx(O,{}),"Squad"===t&&a.jsx(V,{}),"Stats"===t&&a.jsx(B,{}),"Media"===t&&a.jsx(W,{})]})})]})},z=e.createContext({teamData:null,setTeamData:()=>{},teamStats:null,setTeamStats:()=>{},processedTeamData:null,setProcessedTeamData:()=>{},selectedLeague:null,setSelectedLeague:()=>{},teamLeagues:[],setTeamLeagues:()=>{},isBundleLoading:!1,setIsBundleLoading:()=>{}}),U=()=>{const{t:s}=N(),{teamId:n}=l(),o=t(),{isDarkMode:c}=r(),[m,g]=e.useState("Team Info"),[u,x]=e.useState(null),[y,_]=e.useState(null),[S,P]=e.useState(null),[D,k]=e.useState(!0),[M,L]=e.useState(null),[$,R]=e.useState(null),[E,O]=e.useState([]),[V,B]=e.useState(!1),H=e.useRef(!1),{setLeagueTeamsStatsData:W}=e.useContext(i),{setLeagueTablesData:U}
1=e.useContext(d),{setLeaguePlayersData:Q}=e.useContext(h);e.useEffect(()=>{if(H.current)return;n?(async()=>{var e;H.current=!0;try{k(!0),L(null);let l=null;const r=C(n);if(r)x(r),l=r;else{const e=A(n);if(!e){try{const e=await f(n);if(!e||0===e.length)throw new Error("No leagues returned for team");O(e);const a=e[0];R({leagueId:a.leagueId,leagueName:a.leagueName,country:a.country}),k(!1),B(!0);try{const e=await j(n,a.leagueId);Y(e)}finally{B(!1)}}catch(a){L(s("errors.team.unableToLoad")),k(!1)}return}G(n,e),x(e),l=e}const o=(null==l?void 0:l.league)?{leagueId:l.league.id,leagueName:l.league.leagueName}:null;if(o&&R(o),k(!1),n&&f(n).then(e=>{e&&e.length>0&&O(e)}).catch(e=>{}),null==(e=null==l?void 0:l.league)?void 0:e.id){B(!0);try{const e=await j(n,l.league.id);Y(e)}catch(t){}finally{B(!1)}}}catch(l){L(s("errors.team.loadFailed")),k(!1)}})():(L(s("errors.team.idRequired")),k(!1))},[n]);const Y=e=>{var a;if(e.teamStats)try{const t=new w(e.teamStats);_(t),P((e=>{var a,t,s,l,r,n;if(!e||!e.stats)return null;const o=e.stats,i={wins:Math.round(o.winPercentage_overall/100*(o.seasonGoals_overall+o.seasonConceded_overall)/o.seasonAVG_overall)||0,matchesPlayed:Math.round((o.seasonGoals_overall+o.seasonConceded_overall)/o.seasonAVG_overall)||0,ppg:o.seasonPPG_overall||0,form:(null==(t=null==(a=o.additional_info)?void 0:a.formRun_overall)?void 0:t.slice(-10))||"",formHome:(null==(l=null==(s=o.additional_info)?void 0:s.formRun_home)?void 0:l.slice(-10))||"",formAway:(null==(n=null==(r=o.additional_info)?void 0:r.formRun_away)?void 0:n.slice(-10))||""},d={matchesPlayed:i.matchesPlayed,wins:i.wins,draws:Math.round(i.matchesPlayed*(o.drawPercentage_overall/100))||0,losses:Math.round(i.matchesPlayed*(o.losePercentage_overall/100))||0,goalsFor:o.seasonGoals_overall||0,goalsAgainst:o.seasonConceded_overall||0,goalDifference:(o.seasonGoals_overall||0)-(o.seasonConceded_overall||0),ppg:o.seasonPPG_overall||0,homeWins:Math.round(.5*i.matchesPlayed*(o.winPercentage_home/100))||0,homeDraws:Math.round(.5*i.matchesPlayed*(o.drawPercentage_home/100))||0,homeLosses:Math.round(.5*i.matchesPlayed*(o.losePercentage_home/100))||0,homeGoalsFor:Math.round(o.seasonScoredAVG_home*i.matchesPlayed*.5)||0,homeGoalsAgainst:Math.round(o.seasonConcededAVG_home*i.matchesPlayed*.5)||0,homePPG:o.seasonPPG_home||0,awayWins:Math.round(.5*i.matchesPlayed*(o.winPercentage_away/100))||0,awayDraws:Math.round(.5*i.matchesPlayed*(o.drawPercentage_away/100))||0,awayLosses:Math.round(.5*i.matchesPlayed*(o.losePercentage_away/100))||0,awayGoalsFor:Math.round(o.seasonScoredAVG_away*i.matchesPlayed*.5)||0,awayGoalsAgainst:Math.round(o.seasonConcededAVG_away*i.matchesPlayed*.5)||0,awayPPG:o.seasonPPG_away||0,avgGoalsScored:o.seasonScoredAVG_overall||0,avgGoalsConceded:o.seasonConcededAVG_overall||0,cleanSheetPercentage:o.seasonCSPercentage_overall||0,bttsPercentage:o.seasonBTTSPercentage_overall||0,ftsPercentage:o.seasonFTSPercentage_overall||0,over05:o.seasonOver05Percentage_away||0,over15:o.seasonOver15Percentage_away||0,over25:o.seasonOver25Percentage_away||0,over35:o.seasonOver35Percentage_away||0,xgFor:o.xg_for_avg_overall||0,xgAgainst:o.xg_against_avg_overall||0};return{headerData:i,statsData:d,summaryData:{position:e.table_position||null,performanceRank:e.performance_rank||null,points:Math.round(3*i.wins+d.draws)||0,matchesPlayed:i.matchesPlayed,wins:i.wins,draws:d.draws,losses:d.losses,goalsFor:d.goalsFor,goalsAgainst:d.goalsAgainst,goalDifference:d.goalDifference,form:i.form,risk:e.risk||null,founded:e.founded||null,country:e.country||null,continent:e.continent||null},rawStats:e}})(t)),W({leagueTeams:[e.teamStats]});const s=(null==$?void 0:$.leagueId)??(null==(a=e.teamStats)?void 0:a.leagueId)??null,l={team:{id:e.teamStats.id??parseInt(n,10),name:e.teamStats.name??"",cleanName:e.teamStats.cleanName??e.teamStats.name??"",image:e.teamStats.image??null,stats:{},recent:[]},league:{id:s,leagueName:(null==$?void 0:$.leagueName)??"",country:(null==$?void 0:$.country)??e.teamStats.country??"",season:e.teamStats.season??""},timestamp:Math.floor(Date.now()/1e3)};G(n,l),x(e=>e??l)}catch(t){}e.leagueTables&&U(e.leagueTables),e.teamPlayers&&e.teamPlayers.length>0&&Q(e.teamPlayers)};e.useEffect(()=>{if(!(null==$?void 0:$.leagueId)||!n)return;if(!H.current)return;(async()=>{B(!0);try{const e=await j(n,$.leagueId);Y(e)}catch(e){}finally{B(!1)}})()},[$]);const J=()=>{o(-1)};if(D)return a.jsx("div",{className:"flex flex-col items-center justify-center w-full h-screen "+(c?"bg-gray-900":"bg-gray-100"),children:a.jsxs("div",{className:"p-4 rounded-lg shadow-md text-center "+(c?"bg-gray-800":"bg-white"),children:[a.jsx("div",{className:"animate-spin w-8 h-8 border-4 border-t-transparent roun
1ded-full mx-auto mb-4 "+(c?"border-blue-400":"border-blue-500")}),a.jsx("p",{className:c?"text-gray-200":"text-gray-700",children:s("teams.loading")})]})});if(M)return a.jsx("div",{className:"flex flex-col items-center justify-center w-full h-screen "+(c?"bg-gray-900":"bg-gray-100"),children:a.jsxs("div",{className:"p-4 rounded-lg shadow-md text-center max-w-md mx-4 "+(c?"bg-gray-800":"bg-white"),children:[a.jsx("div",{className:"text-red-500 mb-2",children:"⚠️"}),a.jsx("p",{className:"mb-4 "+(c?"text-gray-200":"text-gray-700"),children:M}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 justify-center",children:[a.jsx("button",{className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",onClick:()=>window.location.reload(),children:s("common.tryAgain")}),a.jsx("button",{className:"px-4 py-2 rounded "+(c?"bg-gray-600 text-gray-200 hover:bg-gray-500":"bg-gray-500 text-white hover:bg-gray-600"),onClick:J,children:s("common.goBack")})]})]})});const K=(null==u?void 0:u.name)||(null==S?void 0:S.name)||"Team",X=`${K} - Team Profile & Stats | SokaPal AI`,Z=`View ${K} team profile, statistics, player roster, and match performance. Get detailed analytics and insights for ${K}.`,ee=u?b({id:n,name:K,description:Z,logo:u.logo||(null==S?void 0:S.logo)}):null,ae=v([{name:"Home",url:"https://sokapal.ai"},{name:"Teams",url:"https://sokapal.ai"},{name:K,url:`https://sokapal.ai/team/${n}`}]);return a.jsxs(z.Provider,{value:{teamData:u,setTeamData:x,teamStats:y,setTeamStats:_,processedTeamData:S,setProcessedTeamData:P,selectedLeague:$,setSelectedLeague:R,teamLeagues:E,setTeamLeagues:O,isBundleLoading:V,setIsBundleLoading:B},children:[a.jsx(p,{title:X,description:Z,keywords:`${K}, team stats, soccer team, player roster, team analysis, football team`,url:`https://sokapal.ai/team/${n}`,image:(null==u?void 0:u.logo)||(null==S?void 0:S.logo)||"https://sokapal.ai/og-image.png",structuredData:{"@context":"https://schema.org","@graph":[ee,ae]}}),a.jsx("div",{className:"flex flex-col items-center w-full h-screen overflow-y-auto scrollbar-hide "+(c?"bg-gray-900":"bg-gray-100"),children:a.jsxs("div",{className:"w-full rounded-lg shadow-md relative "+(c?"bg-gray-800":"bg-white"),children:[a.jsx("div",{className:"absolute top-2 left-2 z-50",children:a.jsx("button",{className:"p-2 rounded-full shadow transition-colors "+(c?"bg-gray-700 bg-opacity-90 hover:bg-opacity-100":"bg-white bg-opacity-70 hover:bg-opacity-100"),onClick:J,"aria-label":s("common.back"),children:a.jsx(F,{className:"w-5 h-5 "+(c?"text-gray-200":"text-gray-700")})})}),a.jsx(I,{}),"Team Info"===m&&a.jsx(q,{}),"Soka Chat"===m&&a.jsx(T,{contextType:"TEAM",contextId:n}),a.jsxs("div",{className:"grid grid-cols-2 rounded-t-lg overflow-hidden fixed bottom-0 left-0 right-0 z-20 "+(c?"bg-gray-900":"bg-gray-800"),children:[a.jsx("button",{className:"py-3 text-center text-xs "+("Team Info"===m?c?"bg-gray-800 text-white":"bg-gray-700 text-white":c?"text-gray-400 hover:bg-gray-800":"text-gray-300 hover:bg-gray-700"),onClick:()=>g("Team Info"),children:s("teams.teamInfo")}),a.jsx("button",{className:"py-3 text-center text-xs "+("Soka Chat"===m?c?"bg-gray-800 text-white":"bg-gray-700 text-white":c?"text-gray-400 hover:bg-gray-800":"text-gray-300 hover:bg-gray-700"),onClick:()=>g("Soka Chat"),children:s("teams.sokaChat")})]}),a.jsx("div",{className:"pb-16"})]})})]})};export{z as TeamContext,U 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.