LVBP Reference

LVBP Reference – Detallado

Buscar en la Enciclopedia LVBP

`; }); html += '
'; $('#teamContent').html(html); showPage('teamPage'); }); $('#navSeasons').on('click', e => { e.preventDefault(); renderSeasonList(); showPage('seasonPage'); }); function showTeam(teamId) { const t = getTeam(teamId); if (!t) return; let html = `

${t.name} (desde ${t.founded})

Jugadores históricos aparecerán aquí cuando agregues datos.

`; $('#teamContent').html(html); showPage('teamPage'); } function renderSeasonList() { let html = '

Temporadas

'; db.seasons.forEach(s => { html += `
`; }); html += '
'; // Panel de administración html += `

🛠️ Administrar posiciones

`; $('#seasonContent').html(html); $('#adminSeason').on('change', function() { const s = $(this).val(); const data = db.standings[s] || []; $('#adminData').val(JSON.stringify(data, null, 2)); }).trigger('change'); $('#saveStandingsBtn').on('click', function() { const season = $('#adminSeason').val(); try { const arr = JSON.parse($('#adminData').val()); if (!Array.isArray(arr)) throw new Error('Debe ser un arreglo'); db.standings[season] = arr; localStorage.setItem('lvbp_standings_detalle', JSON.stringify(db.standings)); $('#adminMsg').html('
✅ Posiciones guardadas para ' + season + '
'); } catch (err) { $('#adminMsg').html('
❌ JSON inválido: ' + err.message + '
'); } }); } function showSeason(season) { let html = `

Temporada ${season}

`; const standings = db.standings[season]; if (standings && standings.length > 0) { html += `

📊 Posiciones Finales

`; standings.forEach(row => { const team = getTeam(row.teamId); const home = `${row.home_wins}-${row.home_losses}`; const away = `${row.away_wins}-${row.away_losses}`; html += ``; }); html += `
PosEQUIPOJJJGJPAVEDIF. RACHAULT-10CASARUTACACPCA-CPClasif.
${row.rank} ${team ? team.name : row.teamId} ${row.gp}${row.wins}${row.losses} ${row.pct.toFixed(3)}${row.gb} ${row.streak || ''}${row.last10 || ''} ${home}${away} ${row.rs}${row.ra}${row.diff} ${row.clasificacion || ''}
`; html += `✱ Clasificado al Round Robin | # Clasificado a la Serie del Comodín | ++ Eliminado`; } else { html += '
Posiciones no disponibles para esta temporada. Usa el administrador para añadirlas.
'; } html += ``; $('#seasonContent').html(html); } // Búsqueda global $('#globalSearch').on('input', function() { const q = $(this).val().toLowerCase().trim(); if (q.length < 2) { $('#searchResults').empty(); return; } const results = []; db.teams.forEach(t => { if (t.name.toLowerCase().includes(q)) results.push({type:'Equipo', text:t.name, action: ()=>showTeam(t.id)}); }); db.seasons.forEach(s => { if (s.includes(q)) results.push({type:'Temporada', text:s, action: ()=>showSeason(s)}); }); let html = ''; results.slice(0,10).forEach(r => { html += ``; }); $('#searchResults').html(html); }); $(document).ready(() => showPage('homePage'));