// screens.jsx — Tabla de posiciones + Reglas. Exported to window. const { useState: useStateS } = React; function MedalRank({ rank }) { const cls = rank === 1 ? "rk rk1" : rank === 2 ? "rk rk2" : rank === 3 ? "rk rk3" : "rk"; return
{rank}
; } function StandingsScreen({ state, scoring }) { const rows = window.computeStandings(state, scoring); const [open, setOpen] = useStateS(null); const leader = rows[0]; return (
Quiniela familiar · Mundial 26

Tabla de
posiciones

{leader.name}
Lidera con {leader.total} pts
{leader.total}
# Jugador ✔/● Pts
{rows.map((r) => { const isOpen = open === r.id; return (
{isOpen && (
{r.base}
+{r.matchPts}
{r.total}
{r.exact} exactos {r.result} aciertos {r.miss} fallos
)}
); })}
Marcador exacto Resultado correcto
); } function RulesScreen({ scoring }) { const S = scoring; return (
Cómo se juega

Reglas y
puntuación

{S.exact}

Marcador exacto

Pegas el resultado tal cual. Aplica también a empates exactos (ej. dijiste 2-2 y quedó 2-2).

{S.result}

Resultado correcto

Aciertas quién gana (o que hay empate) pero no el marcador exacto.

0

Fallaste

El ganador no coincide con tu pronóstico.

La persona encargada carga los pronósticos y los resultados de cada partido. Los puntos y la clasificación se calculan solos. El pago es en Bs al final del torneo.

); } Object.assign(window, { StandingsScreen, RulesScreen });