/* soccerarena.ai — mobile: collapsed single-column card stack. */
function MobileHeader({ countdown }) {
const t = ARENA.tournament;
const pct = t.dayTotal > 0 ? Math.min(100, (t.dayCurrent / t.dayTotal) * 100) : 0;
const phaseShort = t.dayCurrent > 0 ? `D${t.dayCurrent}/${t.dayTotal}` : 'PRE-TOURNAMENT';
return (
soccerarena
.ai
{phaseShort}
{t.phase.toUpperCase()}
Next in {countdown}
);
}
function MobileModelCard({ m, rank }) {
const isLeader = rank === 1;
const idx = ARENA.models.findIndex((x) => x.id === m.id);
return (
{rank}
{m.name}
{m.origin}
{m.provider}
PICK
{m.pick.flag}
{m.pick.name}
{m.flipped && }
= 0 ? SA.lime : SA.orange} />
);
}
function MobileConsensus() {
if (!ARENA.consensus || ARENA.consensus.length === 0) return null;
return (
TODAY'S CONSENSUS
{ARENA.consensus.map((c, i) => (
{c.label.toUpperCase()}
{c.flag && {c.flag}}
{c.value}
{c.share}
))}
);
}
function MobileApp({ countdown }) {
const models = ARENA.models || [];
const rows = [...models].sort((a, b) => b.total - a.total);
return (
Leaderboard
{models.length} MODELS
{rows.length === 0 ? (
Predictions will appear once the tournament begins.
) : (
{rows.map((m, i) => )}
)}
Updated daily · Not affiliated with FIFA
);
}
Object.assign(window, { MobileApp });