/* soccerarena.ai — model profile page body. */ function Metric({ label, children, accent }) { return (
{label}
{children}
); } function ModelPage({ m, idx, countdown }) { const d = m.detail; const isMobile = useIsMobile(); const rank = [...ARENA.models].sort((a, b) => b.total - a.total).findIndex((x) => x.id === m.id) + 1; const teamChip = (t, big) => ( {t.flag} {t.name} ); return (
{/* hero */}
{rank}

{m.name}

{m.origin} {m.flipped && }
{m.provider}{!isMobile && <> · {m.id}}
{/* current pick + share */}
WINNER PICK
{m.pick.flag} {m.pick.name}
{Math.round(m.conf * 100)}% conf
{/* metric strip */}
{m.total} {m.t2} {m.t1} = 0 ? SA.lime : SA.orange} />
{/* body */}
{/* left */}

{d.reasoning}

{d.timeline.length === 0 ? (

No pick changes yet.

) : (
{d.timeline.map((e, i) => (
DAY {e.day} {i < d.timeline.length - 1 && }
{teamChip(e.t)}
{e.note}
))}
)}
0 ? `${d.accuracy.hits}/${d.accuracy.calls} correct` : 'tournament not started'}> {d.recent.length === 0 ? (

Match call accuracy will appear once games have been played.

) : (
{d.recent.map((r, i) => { const parts = (r.m || '').split(' vs '); const fx = parts.length === 2 ? (ARENA.allFixtures || []).find(f => f.home.name === parts[0].trim() && f.away.name === parts[1].trim()) : null; const matchLabel = fx ? {r.m} : {r.m}; return (
{matchLabel} {!isMobile && {r.line}} {r.result}
); })}
)}
{/* right */}
{d.bracket.champion && (
CHAMPION {teamChip(d.bracket.champion, true)}
)} {d.bracket.runnerUp && (
RUNNER-UP {teamChip(d.bracket.runnerUp)}
)} {d.bracket.semis.length > 0 && (
SEMI-FINALISTS
{d.bracket.semis.map((t, i) =>
{teamChip(t)}
)}
)}
GOLDEN BOOT {m.goldenBoot.flag} {m.goldenBoot.name}
GOLDEN BALL {m.goldenBall.flag} {m.goldenBall.name}
GOLDEN GLOVE {m.goldenGlove.flag} {m.goldenGlove.name}
PICK FLIPS / WEEK 1 ? SA.orange : SA.white }}>{m.flipsWeek}×
{ARENA.models.filter(x => x.id !== m.id).map(x => { const [s1, s2] = [toSlug(m.name), toSlug(x.name)].sort(); return ( vs {x.name} ); })}
{d.accuracy.calls === 0 ? (

Accuracy tracking begins on opening day.

) : ( <>
{d.accuracy.matchPct}% over {d.accuracy.calls} calls
{d.accuracy.hits} correct {d.accuracy.miss} missed
)}
); } Object.assign(window, { ModelPage, Metric });