function BetModal({ pick, onClose }) { if (!pick) return null; const isParlay = Array.isArray(pick.legs) && pick.legs.length > 0; // ESPN win % (utils/winprob.js) only while the bet is still open; graded bets keep their result line const open = !["won", "lost", "void", "push", "graded", "settled", "closed", "canceled", "cancelled"].includes(String(pick.status || pick.state || "open").toLowerCase()); return (

Bet Details

{isParlay ? (
{pick.legs.map((leg, i) => (
{window.TeamRankBadge ? : null}{leg.selection} {leg.odds != null && ( ({signOdds(Number(leg.odds))}) )}
{leg.league} - {leg.event}
{open && window.LiveWinProb ? : null}
))}
) : (
{window.TeamRankBadge ? : null}{pick.selection} {pick.odds != null && ( ({signOdds(Number(pick.odds))}) )}
{pick.league} - {pick.event}
{open && window.LiveWinProb ? : null}
)}
{window.BBToWin.stakeToWinLine(pick)}
Status:{" "} {pick.status || pick.state || "open"}
); } window.BetModal = BetModal;