PageSourceSearch

https://fantasyhoff.com/assets/Standings-C8j7JhhB.js

js fantasyhoff.com collected 2026-10-02 01:28:54 UTC 26,326 bytes, 1 lines download raw bytes

1import{j as e,a as j}from"./vendor-react-Ci8XvypC.js";import{cg as be,ch as Ge,bI as ge,ci as C,K as ke,y as ve,ao as Ne,at as Se,cj as Ye,an as Le,au as we,ck as ze,cl as ue,a2 as pe,aj as Ue}from"./index-Hx-p8ka4.js";import{L as Be,E as _e}from"./Paywall-CXefLKpU.js";import{L as Pe}from"./LeaguePageHeader-C9YPti-2.js";import{A as Re}from"./ArchiveSyncBanner-iYQMVRp0.js";import{u as Te,L as F}from"./vendor-router-DC2shrY2.js";import{u as xe}from"./vendor-query-BWIl-I-M.js";import{a as $e}from"./archiveSync-DXYFUS-p.js";import{L as Me,d as K,q as X,ba as De,t as He,bb as Ie,bc as Ve,ad as qe,ao as Ke,an as Qe,T as Xe}from"./vendor-icons-CfgbQDMF.js";import{L as ye,a as Je}from"./LeagueFilterBar-vCWjYba9.js";import{u as Ze,c as es}from"./useStats-DoBG0vBn.js";import{b as ss,m as as,c as ns,f as _,p as is}from"./pfRates-DRzJtW1v.js";import"./vendor-react-dom-yPwZA2yX.js";import"./OfferPrice-Db303-Lh.js";function Ae({view:s}){const[t,r]=Te();return e.jsx("div",{className:"legacy-view-switch",role:"group","aria-label":"Standings view",children:["legacy","standings"].map(l=>e.jsx("button",{type:"button","aria-pressed":s===l,onClick:()=>{const i=new URLSearchParams(t);l==="legacy"?i.delete("view"):i.set("view",l),r(i)},children:l==="legacy"?"Legacy":"Standings"},l))})}function ls(s,t){const r=be(),l=r==null?void 0:r.filter(h=>h.support==="supported").map(h=>h.season),i=Ge(t).filter(h=>!l||l.includes(h)),d=i.filter(h=>Number(h)<C),a=xe({...ge(s,{seasons:i},`seasons:${i.join(",")}`),enabled:!!(s&&i.length)}),u=xe({...ge(s,{seasons:d},`seasons:${d.join(",")}`),enabled:!!(s&&i.includes(String(C))&&d.length&&a.isSuccess)});return{current:a,previous:u,years:i,beforeYears:d}}const rs=s=>s===null?"—":`${Math.round(s*100)}%`;function ts({entry:s,has2025:t}){const{movement:r,delta:l,previousScore:i}=s,d=r==="up"?Ie:r==="down"?Ve:qe,a=r==="unavailable"?t?"Comparison pending":"No 2025 season":r==="new"?"New in 2025":r==="unchanged"?"No change":`${l>0?"+":""}${l.toFixed(1)}`;return e.jsxs("span",{className:`legacy-movement is-${r}`,title:i!==null?`After 2024: ${i.toFixed(1)}. After 2025: ${s.score.toFixed(1)}. Movement is score points, not rank.`:a,children:[e.jsx(d,{size:15,"aria-hidden":"true"}),e.jsx("span",{children:a}),l!==null&&l!==0&&e.jsx("span",{className:"legacy-sr-only",children:" score points after 2025"})]})}function os({entry:s,leagueId:t,isYou:r,has2025:l,lastPlaces:i=0,locked:d=!1,leagueName:a}){const[u,h]=j.useState(!1);return e.jsxs("details",{onToggle:c=>h(c.currentTarget.open),className:`legacy-card${s.rank===1?" is-leader":""}${r?" is-you":""}`,children:[e.jsxs("summary",{className:"legacy-card-summary","aria-label":`${s.rank}. ${s.name}, Legacy Score ${s.score.toFixed(1)}. Expand career breakdown`,children:[e.jsx("span",{className:"legacy-rank",children:String(s.rank).padStart(2,"0")}),e.jsxs("span",{className:"legacy-identity",children:[e.jsxs("span",{className:"legacy-archetype",children:[s.archetype,r&&e.jsx("span",{className:"legacy-you",children:"You"})]}),e.jsxs("span",{className:"legacy-name-line",children:[e.jsx("strong",{children:s.name})," ",e.jsxs("span",{className:"legacy-tenure",children:["— ",s.seasons," season",s.seasons===1?"":"s"]})]})]}),e.jsxs("span",{className:"legacy-hardware",children:[e.jsxs("span",{className:"legacy-hardware-first",title:"First-place finishes","aria-label":`${s.championships} first-place finishes`,children:[e.jsx(K,{size:16,"aria-hidden":"true"}),e.jsx("b",{children:s.championships}),e.jsx("small",{children:"1st"})]}),e.jsxs("span",{className:"legacy-hardware-second",title:"Second-place finishes","aria-label":`${s.runnerUps} second-place finishes`,children:[e.jsx(K,{size:16,"aria-hidden":"true"}),e.jsx("b",{children:s.runnerUps}),e.jsx("small",{children:"2nd"})]}),e.jsxs("span",{className:"legacy-hardware-last",title:"Last-place finishes: last in the final standings, or last in the regular season when the platform doesn't record a final order","aria-label":`${i} last-place finishes`,children:[e.jsx(De,{size:16,"aria-hidden":"true"}),e.jsx("b",{children:i}),e.jsx("small",{children:"Last"})]})]}),e.jsxs("span",{className:"legacy-mini-stat legacy-median",children:[e.jsx("b",{children:rs(s.medianRate)}),e.jsx("small",{children:"vs median"})]}),e.jsxs("span",{className:"legacy-score-cell",children:[e.jsx("strong",{children:s.score.toFixed(1)}),e.jsx("small",{className:"legacy-score-label",children:"Legacy score"}),e.jsx(ts,{entry:s,has2025:l})]}),d?e.jsx(He,{size:17,className:"legacy-chevron legacy-lock-icon","aria-label":"Elite breakdown"}):e.jsx(X,{size:19,className:"legacy-chevron","aria-hidden":"true"})]}),d?u&&e.jsx("div",{className:"legacy-locked",children:e.jsx(Be,{leagueId:t,leagueName:a,surface:"legacy-breakdown",title:"The full story behind the score",blurb:"Unlock the score breakdown, career verdict and three NFL comparisons for every franchise.",rows:5})}):e.jsxs("div",{className:"legacy-dossier",children:[e.jsxs("div",{className:"legacy-breakdown",children:[e.jsxs("div",{className:"legacy-section-label",children:[e.jsx("span",{children:"01 / The calculation"}),e.jsx("span",{children:"Out of 100"})]}),s.components.map(c=>e.jsxs("div",{className:"legacy-factor",children:[e.jsxs("div",{className:"legacy-factor-heading",children:[e.jsx("strong",{children:c.label}),e.jsxs("span",{children:[e.jsx("b",{children:c.points.toFixed(1)})," / ",c.maximum]})]}),e.jsx("div",{className:"legacy-meter","aria-hidden":"true",children:e.jsx("span",{style:{width:`${c.points/c.maximum*100}%`}})}),e.jsx("p",{children:c.explanation})]},c.key)),e.jsxs("div",{className:"legacy-total",children:[e.jsx("span",{children:"Legacy Score"}),e.jsxs("strong",{children:[s.score.toFixed(1),e.jsx("small",{children:" / 100"})]})]})]}),e.jsxs("div",{className:"legacy-verdict",children:[e.jsxs("div",{className:"legacy-section-label",children:["02 / The case for ",s.name]}),e.jsxs("h3",{children:[s.archetype,"."]}),e.jsx("ul",{children:s.bullets.map((c,b)=>e.jsx("li",{children:c},b))}),s.limited&&e.jsxs("p",{className:"legacy-coverage-note",children:[s.seasons<3?"Early résumé: fewer than three seasons. ":"",s.medianGames<s.games?"Weekly median data covers only part of this career. ":"",s.playoffSeasons<s.seasons?"Only seasons with a recorded, resolved championship and regular-season games enter the playoff deduction. ":"","Missing evidence stays neutral."]}),e.jsxs(F,{to:we(s.groupId,t),className:"legacy-profile-link",children:["Open manager profile ",e.jsx(Ie,{size:15,"aria-hidden":"true"})]})]}),e.jsxs("div",{className:"legacy-comparisons",children:[e.jsxs("div",{className:"legacy-comparisons-head",children:[e.jsx("span",{className:"legacy-section-label",children:"03 / NFL echoes"}),e.jsx("span",{children:"League-relative comparisons · No shared players"})]}),e.jsx("div",{className:"legacy-comparison-grid",children:s.comparisons.map((c,b)=>e.jsxs("div",{className:"legacy-comparison",children:[e.jsxs("span",{className:"legacy-comparison-number",children:["0",b+1]}),e.jsxs("div",{children:[e.jsx("strong",{children:c.name}),e.jsx("p",{children:c.reason})]})]},c.name))})]})]})]})}function cs(){var W;const{leagueId:s,leagues:t,list:r}=ke(),l=ve(s),{isElite:i,leagueName:d}=Ne(s),{current:a,previous:u,years:h,beforeYears:c}=ls(s,l.data),b=j.useMemo(()=>{var m;return new Map((((m=a.data)==null?void 0:m.trophies)??[]).map(p=>[p.groupId,p.lastPlaces??0]))},[a.data]),k=h.includes(String(C)),T=j.useMemo(()=>Se(l.data),[l.data]),$=k&&(c.length===0||!!u.data),N=j.useMemo(()=>a.data?Ye(a.data,u.data??null,{hidden:T,comparisonAvailable:$}):[],[a.data,u.data,T,$]),w=$e(l.data,"standings").filter(m=>Number(m)<=C),y=t.isLoading||l.isLoading||h.length>0&&a.isLoading,P=(W=l.data)!=null&&W.myOwnerId?`owner:${l.data.myOwnerId}`:void 0;return e.jsxs("main",{className:"hofPage hof-legacy",children:[e.jsx(Le,{}),e.jsx("div",{className:"hjb-frame",children:e.jsxs("section",{className:"legacy-shell","aria-label":"League legacy rankings",children:[e.jsx(Pe,{icon:e.jsx(Me,{}),eyebrow:"All-time rankings",title:"Standings"}),e.jsx(Ae,{view:"legacy"}),e.jsx("p",{className:"standings-view-description",children:"See how your franchise stacks up all-time"}),w.length>0&&e.jsx(Re,{years:w,detail:"Legacy scores may change as your archive fills in."}),(t.isError||l.isError||a.isError)&&e.jsxs("div",{className:"legacy-notice",role:"alert",children:[a.data?"Legacy could not refresh. Showing the last available results.":"Legacy rankings could not load."," ",e.jsx("button",{onClick:()=>{t.refetch(),l.refetch(),h.length&&a.refetch()},children:"Try again"})]}),k&&u.isError&&e.jsxs("div",{className:"legacy-notice",role:"status",children:["The 2024 comparison could not load. Scores remain available."," ",e.jsx("button",{onClick:()=>void u.refetch(),children:"Retry comparison"})]}),y&&e.jsx("div",{className:"legacy-empty",role:"status",children:"Loading legacy rankings…"}),!y&&!t.isError&&!l.isError&&!a.isError&&!N.length&&e.jsxs("div",{className:"legacy-empty",children:[e.jsx(K,{size:32}),e.jsx("h3",{children:"The story is still being written."}),e.jsx("p",{children:r.length?h.length?"No visible managers have results in this edition. Check your imported history and manager visibility.":`Legacy uses history through ${C}. Import a played season from ${C} or earlier to get started.`:"Connect a league to build its legacy."})]}),N.length>0&&e.jsxs("div",{className:"legacy-board","aria-label":"Legacy rankings","aria-busy":y,children:[e.jsxs("div",{className:"legacy-board-labels","aria-hidden":"true",children:[e.jsx("span",{children:"Rank"}),e.jsx("span",{children:"Manager / career"}),e.jsx("span",{children:"Hardware"}),e.jsx("span",{children:"The field"}),e.jsx("span",{children:"Legacy score"}),e.jsx("span",{})]}),N.map(m=>e.jsx(os,{entry:m,leagueId:s,isYou:m.groupId===P,locked:!i,leagueName:d,lastPlaces:b.get(m.groupId)??0,has2025:k},`${s}:${m.groupId}`))]}),e.jsxs("details",{className:"legacy-method",children:[e.jsxs("summary",{children:[e.jsx("span",{children:"Behind the index"}),e.jsxs("span",{children:["The formula, in plain English"," ",e.jsx(X,{size:16,"aria-hidden":"true"})]})]}),e.jsxs("div",{className:"legacy-method-body",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"40 points for championships. 25 for beating the median. 15 for wins. 20 for playoff consistency."})," ","Titles carry the most weight; weekly median results count more than head-to-head wins to reduce schedule luck. This is one transparent definition of legacy, not a claim to remove every kind of luck."]}),e.jsx("p",{children:"Career labels are relative to this league: the top-ranked franchise alone is the GOAT, and the bottom-ranked franchise is last. NFL comparisons are assigned once per league. Equal scores break ties by titles, median record, then name;
1 a tie-break is not a score gap."}),e.jsxs("div",{className:"legacy-method-grid",children:[e.jsxs("p",{children:[e.jsx("b",{children:"Earn the rings"}),"Championship points = 40 × (1 − 0.6ᵗⁱᵗˡᵉˢ). Your first ring adds 16 points, your second adds 9.6, and later rings keep adding credit."]}),e.jsxs("p",{children:[e.jsx("b",{children:"Prove it over time"}),"Win and median rates each add a neutral 7–7 record before scoring. A short hot streak cannot carry the same certainty as years of results."]}),e.jsxs("p",{children:[e.jsx("b",{children:"Show up in January"}),"Playoff points = 20 − 20 × (misses + 1) / (verified seasons + 2). Only recorded, resolved championship seasons count. Unknown history gets neutral credit."]}),e.jsxs("p",{children:[e.jsx("b",{children:"Read the movement"}),"The arrow compares the same formula through 2024 and through 2025. It measures score points, not places. New managers get “New”; 2026 games are excluded."]})]}),e.jsx("p",{className:"legacy-method-footnote",children:"Scores use imported history and current identity assignments, with displayed components rounded to tenths. Corrections can revise both historical snapshots. Missing weekly results and short careers are flagged. NFL comparisons describe career patterns, not equal talent. The three written takeaways come from the same facts as the calculation."})]})]})]})})]})}const V={regular:"Regular season",playoffs:"Playoffs",both:"Both"},D=[{key:"totalWins",label:"Total wins",group:"games"},{key:"careerRecord",label:"Career record",group:"games"},{key:"winPct",label:"Win percentage",group:"games"},{key:"pointsFor",label:"Points for",group:"games"},{key:"pfRate",label:"Points / season",group:"games"},{key:"pointsAgainst",label:"Points against",group:"games"},{key:"allPlayWins",label:"All-play wins",group:"regular"},{key:"allPlayWinPct",label:"All-play win %",group:"regular"},{key:"medianRecord",label:"vs Median",group:"regular"},{key:"combinedRecord",label:"Hypothetical + median",group:"regular"},{key:"totalMoves",label:"Total moves",group:"history"},{key:"totalTrades",label:"Trades made",group:"history"},{key:"playoffAppearances",label:"Playoffs made",group:"history"},{key:"playoffRecord",label:"Playoff record",group:"history"},{key:"championships",label:"Championships",group:"history"},{key:"name",label:"Manager name",group:"history"},{key:"rank",label:"Original rank",group:"history"}];function ds(s,t,r){return s==="pfRate"?t!=="regular"||r?"Points / game":"Points / season":D.find(l=>l.key===s).label}function hs(s,t,r,l,i,d){const a=s.playoffRecord,u=a?a.wins+a.losses+a.ties:0,h=r!=="playoffs",c=r!=="regular",b=(h?s.wins:0)+(c?(a==null?void 0:a.wins)??0:0),k=(h?s.losses:0)+(c?(a==null?void 0:a.losses)??0:0),T=(h?s.ties:0)+(c?(a==null?void 0:a.ties)??0:0),$=b+k+T,N=!c||a!=null,w=(I,O)=>c&&(!a||u>0&&O==null)||r==="playoffs"&&!u?null:(h?I:0)+(c?O??0:0),y=w(s.pointsFor,s.playoffPointsFor),P=w(s.pointsAgainst,s.playoffPointsAgainst),m=h&&s.pfGames===0&&(s.pfSeasons??0)>0?0:(h?ss(s):0)+(c?u:0),p=(s.allPlayWins??0)+(s.allPlayLosses??0)+(s.allPlayTies??0),M=as(s),x=ns(s);return{rank:t,groupId:s.groupId,name:s.name,seasons:s.seasons,careerRecord:N&&$>0?_({wins:b,losses:k,ties:T}):null,winPct:N&&$>0?(b+T*.5)/$:null,totalWins:N?b:null,recordLosses:k,recordTies:T,pointsFor:y,pointsAgainst:P,pfRate:r==="regular"&&!l?is(s):y!=null&&m>0?y/m:null,allPlayWins:p>0?s.allPlayWins:null,allPlayWinPct:p>0?s.allPlayWinPct??(s.allPlayWins+.5*(s.allPlayTies??0))/p:null,medianRecord:M?_(M):null,medianWinPct:(M==null?void 0:M.winPct)??null,combinedRecord:x?_(x):null,combinedWinPct:(x==null?void 0:x.winPct)??null,totalMoves:(i==null?void 0:i.totalTransactions)??null,totalTrades:(i==null?void 0:i.tradesMade)??(i==null?void 0:i.trades)??null,playoffAppearances:(d==null?void 0:d.playoffAppearances)??null,playoffRecord:a&&u>0?_(a):null,playoffWins:a?a.wins:null,championships:(d==null?void 0:d.championships)??null}}function Q(s,t){return t==="careerRecord"?s.careerRecord==null?null:s.totalWins:t==="medianRecord"?s.medianWinPct:t==="combinedRecord"?s.combinedWinPct:t==="playoffRecord"?s.playoffWins:s[t]}function ms(s,t,r){const l=Q(s,r.key),i=Q(t,r.key);if(l==null||i==null)return l==null&&i==null?s.name.localeCompare(t.name):l==null?1:-1;const d=r.direction==="asc"?1:-1,a=typeof l=="string"&&typeof i=="string"?l.localeCompare(i):Number(l)-Number(i);return a?a*d:r.key==="careerRecord"&&s.recordLosses!==t.recordLosses?(t.recordLosses-s.recordLosses)*d:s.name.localeCompare(t.name)}function E(s,t){const r=s[t];return r==null?"—":typeof r=="string"?r:t==="winPct"||t==="allPlayWinPct"?`${(r*100).toFixed(1)}
1%`:r.toLocaleString(void 0,{maximumFractionDigits:["pointsFor","pointsAgainst","pfRate"].includes(t)?1:0})}function q(s){const t=s%100>=11&&s%100<=13?"th":["th","st","nd","rd"][s%10]??"th";return`${s}${t}`}function gs(s){const t=new Map;for(const r of D){if(r.key==="name"||r.key==="rank")continue;const l=s.map(a=>({groupId:a.groupId,value:a[r.key]==null?null:Q(a,r.key)})).filter(a=>typeof a.value=="number").sort((a,u)=>u.value-a.value),i=new Map;let d=0;for(;d<l.length;){let a=d+1;for(;a<l.length&&l[a].value===l[d].value;)a++;for(let u=d;u<a;u++)i.set(l[u].groupId,{rank:d+1,tied:a-d>1});d=a}t.set(r.key,i)}return t}const fe=[{key:"all-time",label:"All-time"},{key:"last-3",label:"Last 3 years"},{key:"last-5",label:"Last 5 years"}],je=[{key:"games",label:"Selected games"},{key:"regular",label:"Regular-season comparisons"},{key:"history",label:"League activity & honours"}];function $s(){const[s]=Te();return s.get("view")==="standings"?e.jsx(us,{}):e.jsx(cs,{})}function us(){var ee,se,ae,ne,ie,le,re;const{leagueId:s,list:t,leagues:r,active:l}=ke(),i=ve(s),{isFree:d,isElite:a}=Ne(s),[u,h]=j.useState(null),[c,b]=j.useState("all-time"),[k,T]=j.useState("regular"),[$,N]=j.useState(null),w=be(),y=j.useMemo(()=>{const n=new Set(w==null?void 0:w.filter(g=>g.support==="capture_only").map(g=>g.season));return ze(i.data).filter(g=>!n.has(g))},[i.data,w]),P=j.useMemo(()=>({"last-3":ue(y,3),"last-5":ue(y,5)}),[y]),W=fe.filter(n=>n.key==="all-time"||P[n.key]!==null),m=a?c:"all-time",p=m.startsWith("year:")?m.slice(5):"";j.useEffect(()=>{(c==="last-3"||c==="last-5")&&P[c]===null&&b("all-time"),c.startsWith("year:")&&i.data&&!y.includes(c.slice(5))&&b("all-time")},[c,P,i.data,y]);const M=j.useMemo(()=>{if(p)return{season:p};if(m==="last-3"||m==="last-5"){const n=P[m];return n?{seasons:n}:void 0}},[p,m,P]),x=Ze(s,M),I=es(s,M),O=j.useMemo(()=>Se(i.data),[i.data]),Ee=j.useMemo(()=>$e(i.data,"standings"),[i.data]),U=!!p&&(((ee=x.data)==null?void 0:ee.trophies)??[]).some(n=>n.championships>0),v=a&&$?$:U?{key:"rank",direction:"asc"}:{key:"totalWins",direction:"desc"},A=j.useMemo(()=>{var te,oe,ce,de,he,me;const n=new Map((((te=x.data)==null?void 0:te.trophies)??[]).map(o=>[o.groupId,o])),g=new Map((((oe=I.data)==null?void 0:oe.perManager)??[]).map(o=>[o.groupId,o])),S=new Set((((ce=i.data)==null?void 0:ce.seasons)??[]).filter(o=>o.season===p).map(o=>o.id)),R=new Map((((de=i.data)==null?void 0:de.seasonTeams)??[]).filter(o=>S.has(o.leagueSeasonId)).map(o=>[`team:${o.id}`,o.finalRank])),L=o=>{var f;return(f=n.get(o))!=null&&f.championships?0:R.get(o)??Number.POSITIVE_INFINITY},z=new Map((((he=x.data)==null?void 0:he.regularSeasonOrder)??[]).map((o,f)=>[o,f])),B=(o,f)=>z.size>0?(z.get(o)??Number.MAX_SAFE_INTEGER)-(z.get(f)??Number.MAX_SAFE_INTEGER):0;return(((me=x.data)==null?void 0:me.standings)??[]).filter(o=>!/^[-\s]*hidden[-\s]*$/i.test(o.name)&&!O.has(o.groupId)).sort((o,f)=>U?L(o.groupId)-L(f.groupId)||B(o.groupId,f.groupId)||f.wins-o.wins||f.pointsFor-o.pointsFor||o.name.localeCompare(f.name):0).map((o,f)=>hs(o,f+1,k,!!p,g.get(o.groupId)??(I.data?{totalTransactions:0,trades:0}:void 0),n.get(o.groupId)??{playoffAppearances:0,championships:0})).sort((o,f)=>ms(o,f,v))},[x.data,(se=i.data)==null?void 0:se.seasons,(ae=i.data)==null?void 0:ae.seasonTeams,U,I.data,O,k,p,v.key,v.direction]),Fe=j.useMemo(()=>gs(A),[A]),G=n=>n==="rank"&&U?"Season finish":ds(n,k,!!p),Ce=p?`${p} season`:((ne=fe.find(n=>n.key===m))==null?void 0:ne.label)??"All-time",We=k==="both"?"Regular season + playoffs":V[k],J=r.isLoading||i.isLoading||x.isLoading,Z=(ie=i.data)!=null&&ie.myOwnerId?`owner:${i.data.myOwnerId}`:void 0,Y=[...p?[p]:m==="last-3"||m==="last-5"?P[m]??y:y].sort(),Oe=Y.length>1?`${Y[0]}–${Y[Y.length-1]}`:Y[0]??"League history";function H(n,g){d?h(n):a&&g()}return e.jsxs("main",{className:"hofPage hof-standings-modern",children:[e.jsx(Le,{}),e.jsx("div",{className:"hjb-frame",children:e.jsxs("section",{className:"stx-shell","aria-label":"League standings",children:[e.jsx(Pe,{icon:e.jsx(Me,{}),eyebrow:"All-time rankings",title:"Standings"}),e.jsx(Ae,{view:"standings"}),e.jsxs("p",{className:"standings-view-description",children:[Ce," · ",A.length," manager",A.length===1?"":"s"," · ",Oe]}),e.jsx(Re,{years:Ee,detail:"Standings update automatically as those seasons arrive."}),e.jsx("p",{children:"Win–loss records include official league bonus results where supplied. Median columns are schedule comparisons; rivalry and playoff records count actual matchups."}),e.jsx("div",{className:"stx-controls",children:e.jsxs("div",{className:"stx-fields",children:[e.jsx(ye,{htmlFor:"standings-period",label:"Time period",children:e.jsxs("select",{id:"standings-period","aria-label":"Time period",value:m,onChange:n=>{const g=n.target.value,S=()=>{b(g),N(null)};g==="all-time"?S():H("standings-history",S)},children:[e.jsx("optgroup",{label:"History",children:W.map(n=>e.jsx("option",{value:n.key,children:n.label},n.key))}),e.jsx("optgroup",{label:"Season",children:y.map(n=>e.jsxs("option",{value:`year:${n}`,children:[n," season"]},n))})]})}),e.jsx(ye,{htmlFor:"standings-ranking",label:"Rank managers by",children:e.jsx("select",{id:"standings-ranking","aria-label":"Rank managers by",value:v.key,onChange:n=>{const g=n.target.value;H("standings-sorting",()=>N({key:g,direction:g==="name"||g==="rank"?"asc":"desc"}))},children:je.map(n=>e.jsx("optgroup",{label:n.label,children:D.filter(g=>g.group===n.key).map(g=>e.jsx("option",{value:g.key,children:G(g.key)},g.key))},n.key))})}),e.jsx("button",{type:"button",className:"stx-order","aria-label":v.direction==="desc"?"Sort ascending":"Sort descending",title:v.direction==="desc"?"Sort ascending":"Sort descending",onClick:()=>H("standings-sorting",()=>N({...v,direction:v.direction==="desc"?"asc":"desc"})),children:v.direction==="desc"?e.jsx(Ke,{size:18}):e.jsx(Qe,{size:18})})]})}),e.jsx("div",{className:"stx-view-bar",children:e.jsx(Je,{className:"stx-phases",role:"group","aria-label":"Games included",children:Object.keys(V).map(n=>e.jsx("button",{type:"button","aria-pressed":k===n,onClick:()=>T(n),children:n==="regular"?"Regular":V[n]},n))})}),x.isError&&e.jsxs("div",{className:"stx-notice",role:"alert",children:[x.data?"Standings could not refresh. Showing the last available results.":"Standings could not load."," ",e.jsx("button",{type:"button",onClick:()=>void x.refetch(),children:"Try again"})]}),I.isError&&e.jsxs("div",{className:"stx-notice",role:"status",children:["Transaction totals could not refresh."," ",e.jsx("button",{type:"button",onClick:()=>void I.refetch(),children:"Try again"})]}),e.jsxs("div",{className:"stx-list","aria-label":"Manager rankings","aria-busy":J,children:[A.length>0&&e.jsxs("div",{className:"stx-list-head","aria-hidden":"true",children:[e.jsx("span",{children:"#"}),e.jsx("span",{children:"Manager"}),e.jsx("span",{children:"Record"}),e.jsx("span",{children:"Win %"}),e.jsx("span",{children:G("pfRate")}),e.jsxs("span",{children:[G(v.key)," ",v.direction==="desc"?"↓":"↑"]}),e.jsx("span",{})]}),A.map((n,g)=>e.jsxs("details",{className:`stx-manager${n.groupId===Z?" is-you":""}`,children:[e.jsxs("summary",{className:"stx-row",children:[e.jsx("span",{className:"stx-rank",children:String(g+1).padStart(2,"0")}),e.jsxs("span",{className:"stx-person",children:[e.jsx("span",{className:"stx-avatar","aria-hidden":"true",children:n.name.trim().split(/\s+/).slice(0,2).map(S=>S[0]).join("")}),e.jsxs("span",{className:"stx-name",children:[e.jsx("strong",{children:n.name}),n.groupId===Z&&e.jsx("em",{children:"YOU"}),e.jsxs("small",{children:[e.jsxs("span",{className:"stx-mobile-record",children:[E(n,"careerRecord")," ·"," "]}),n.championships!=null?`${n.championships} ${n.championships===1?"title":"titles"}`:`${n.seasons} seasons`]})]})]}),e.jsx("span",{className:"stx-cell",children:E(n,"careerRecord")}),e.jsx("span",{className:"stx-cell",children:E(n,"winPct")}),e.jsx("span",{className:"stx-cell",children:E(n,"pfRate")}),e.jsxs("span",{className:`stx-score${["name","careerRecord","medianRecord","combinedRecord","playoffRecord"].includes(v.key)?" is-text":""}`,children:[E(n,v.key),e.jsx("small",{children:G(v.key)})]}),e.jsx(X,{className:"stx-chevron",size:16,"aria-hidden":"true"})]}),e.jsxs("div",{className:"stx-expanded",children:[e.jsxs("header",{children:[e.jsxs("h3",{children:[n.name,"’s stats"]}),e.jsx(F,{to:we(n.groupId,s),children:"View profile →"})]}),je.map(S=>e.jsxs("section",{className:"stx-stat-section",children:[e.jsx("h4",{children:S.key==="games"?We:S.label}),e.jsx("dl",{children:D.filter(R=>R.group===S.key&&R.key!=="name"&&R.key!=="rank").map(R=>e.jsxs("div",{children:[e.jsx("dt",{children:G(R.key)}),e.jsxs("dd",{className:"stx-ranked-stat",children:[e.jsx("span",{children:E(n,R.key)}),(()=>{var B;const L=(B=Fe.get(R.key))==null?void 0:B.get(n.groupId);if(!L)return null;const z=`${L.tied?"T-":""}${q(L.rank)}`;return e.jsx("small",{className:`stx-stat-rank${L.rank<=3?" is-leading":""}`,title:`${L.tied?"Tied for ":""}${q(L.rank)} among managers in this period`,"aria-label":`${L.tied?"Tied for ":"Ranked "}${q(L.rank)}`,children:z})})()]})]},R.key))})]},S.key)),e.jsx("p",{className:"stx-detail-note",children:"Rankings compare managers in the selected period; T- means tied. — means no applicable games or no available data. Records rank by wins; median comparisons rank by win percentage."})]})]},`${s}:${n.groupId}`)),A.length===0&&e.jsx("div",{className:"ui-page-state",role:"status",children:J?"Loading standings…":r.isError||i.isError?"League information could not load. Refresh to try again.":t.length?x.isError?"Standings are currently unavailable.":(((re=(le=x.data)==null?void 0:le.standings)==null?void 0:re.length)??0)>0?e.jsxs(e.Fragment,{children:["Every franchise is hidden."," ",e.jsx(F,{to:pe("teams",s),children:"Manage visibility in Settings → Teams."})]}):"No standings yet.":e.jsxs(e.Fragment,{children:["No leagues yet. ",e.jsx(F,{to:"/add-league",children:"Add a league"})," ","to see standings."]})})]}),e.jsxs("footer",{className:"stx-footer",children:[e.jsx("span",{children:"Tap a manager to explore every stat."}),e.jsx(F,{to:Ue(s),children:"Full record book →"})]}),s&&e.jsxs("aside",{className:"stx-merge-notice","aria-labelledby":"standings-merge-title",children:[e.jsx("span",{className:"stx-merge-icon","aria-hidden":"true",children:e.jsx(Xe,{size:21})}
1),e.jsxs("div",{children:[e.jsx("span",{className:"stx-merge-eyebrow",children:"Team history"}),e.jsx("h2",{id:"standings-merge-title",children:"Duplicate manager rows?"}),e.jsx("p",{children:"Merge or edit their teams in Teams settings to bring their history together."})]}),e.jsx(F,{to:pe("teams",s),children:"Merge or edit teams →"})]})]})}),u&&s&&e.jsx(_e,{leagueId:s,leagueName:(l==null?void 0:l.name)??"League",surface:u,onClose:()=>h(null)})]})}export{$s as Standings};

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.