document.addEventListener('DOMContentLoaded', function() { let gamesData = []; // To store games data for CSV export const playerDetailContainer = document.getElementById('player-detail-container'); const authLinks = document.getElementById('auth-links'); // --- Auth Logic --- const updateAuthUI = (user) => { if (user) { authLinks.innerHTML = ` Welcome, ${user.username} `; document.getElementById('logout-btn').addEventListener('click', logout); } else { authLinks.innerHTML = ` Login Register `; } }; const logout = () => { fetch('/api/logout.php').then(() => window.location.href = '/'); }; const checkSession = () => { fetch('/api/check_session.php') .then(response => response.json()) .then(data => { updateAuthUI(data.loggedIn ? data.user : null); }); }; // --- Player Detail Logic --- const renderPlayerDetails = (playerData) => { const details = playerData.details; gamesData = playerData.recent_games; // Store for export let biographyHtml = `
${details.strPlayer}

${details.strPlayer}

${details.strTeam}

Biography

${details.strDescriptionEN || 'No biography available.'}


Position: ${details.strPosition}

Height: ${details.strHeight}

Weight: ${details.strWeight}

Nationality: ${details.strNationality}

Date of Birth: ${details.dateBorn}

Sport: ${details.strSport}

`; let gamesHtml = ''; if (gamesData && gamesData.length > 0) { gamesHtml = `

Recent Games

${gamesData.map(game => ` `).join('')}
Date Event Home Team Away Team Score
${game.dateEvent} ${game.strEvent} ${game.strHomeTeam} ${game.strAwayTeam} ${game.intHomeScore} - ${game.intAwayScore}
`; } playerDetailContainer.innerHTML = biographyHtml + gamesHtml; const downloadBtn = document.getElementById('download-games-csv'); if (downloadBtn) { downloadBtn.addEventListener('click', () => { exportToCsv(`${details.strPlayer}_recent_games.csv', gamesData); }); } }; const loadPlayerDetails = () => { const urlParams = new URLSearchParams(window.location.search); const playerId = urlParams.get('id'); if (!playerId) { playerDetailContainer.innerHTML = '
No player ID provided.
'; return; } fetch(`/api/get_player_details.php?id=${playerId}`) .then(response => response.json()) .then(data => { if (data.status === 'success') { renderPlayerDetails(data.player); } else { playerDetailContainer.innerHTML = `
${data.message}
`; } }) .catch(error => { console.error('Error loading player details:', error); playerDetailContainer.innerHTML = '
An error occurred while fetching player data.
'; }); }; // --- Initial Load --- checkSession(); loadPlayerDetails(); });