diff --git a/app/scoreboard/get_data.py b/app/scoreboard/get_data.py index 23b59d0..3be1fc6 100644 --- a/app/scoreboard/get_data.py +++ b/app/scoreboard/get_data.py @@ -6,8 +6,8 @@ SCOREBOARD_DATA_FILE = 'app/data/scoreboard_data.json' def get_scoreboard_data(): now = datetime.now() - start_time_evening = now.replace(hour=23, minute=0, second=0, microsecond=0) # 7:00 PM EST - end_time_evening = now.replace(hour=8, minute=0, second=0, microsecond=0) # 3:00 AM EST + start_time_evening = now.replace(hour=23, minute=00, second=0, microsecond=0) # 7:00 PM EST + end_time_evening = now.replace(hour=8, minute=00, second=0, microsecond=0) # 3:00 AM EST if now >= start_time_evening or now < end_time_evening: # Use now URL diff --git a/app/scoreboard/process_data.py b/app/scoreboard/process_data.py index b78d2b1..74f9eeb 100644 --- a/app/scoreboard/process_data.py +++ b/app/scoreboard/process_data.py @@ -10,16 +10,16 @@ def extract_game_info(scoreboard_data): game_state = convert_game_state(game["gameState"]) extracted_info.append({ "Home Team": game["homeTeam"]["name"]["default"], - "Home Score": game["homeTeam"]["score"], + "Home Score": game["homeTeam"]["score"] if game_state != "PRE" else "N/A", "Away Team": game["awayTeam"]["name"]["default"], - "Away Score": game["awayTeam"]["score"], + "Away Score": game["awayTeam"]["score"] if game_state != "PRE" else "N/A", "Home Logo": game["homeTeam"]["logo"], "Away Logo": game["awayTeam"]["logo"], "Game State": game_state, "Period": process_period(game), "Time Remaining": process_time_remaining(game), - "Time Running": game["clock"]["running"], - "Intermission": game["clock"]["inIntermission"], + "Time Running": game["clock"]["running"] if game_state == "LIVE" else "N/A", + "Intermission": game["clock"]["inIntermission"] if game_state == "LIVE" else "N/A", "Priority": calculate_game_priority(game), "Start Time": process_start_time(game), "Home Record": game["homeTeam"]["record"] if game["gameState"] in ["PRE", "FUT"] else "N/A", diff --git a/app/static/script.js b/app/static/script.js index fb07165..dd0eba6 100644 --- a/app/static/script.js +++ b/app/static/script.js @@ -16,31 +16,73 @@ function fetchScoreboardData() { // Function to update scoreboard with fetched data function updateScoreboard(data) { - var liveGamesSection = document.getElementById("live-games-section"); + var liveGamesSection = document.getElementById('live-games-section'); var preGamesSection = document.getElementById('pre-games-section'); var finalGamesSection = document.getElementById('final-games-section'); if (liveGamesSection) { var liveGamesExist = data && data.live_games && data.live_games.length > 0; if (liveGamesExist) { - document.getElementById('live-games').innerText = "Live Games" + if (!document.getElementById('live-games')) { + var targetElement = document.getElementById('live-games-section'); + var newElement = document.createElement('h1'); + newElement.setAttribute('id', 'live-games'); + newElement.innerText = 'Live Games'; + targetElement.parentNode.insertBefore(newElement, targetElement); + } liveGamesSection.innerHTML = generateGameBoxes(data.live_games, 'LIVE'); + } else { + var liveGamesElement = document.getElementById('live-games'); + if (liveGamesElement) { + liveGamesElement.remove(); + } + liveGamesSection.innerHTML = ''; } } if (preGamesSection) { var preGamesExist = data && data.pre_games && data.pre_games.length > 0; if (preGamesExist) { - document.getElementById('on-later').innerText = "On Later" + if (!document.getElementById('on-later')) { + var targetElement = document.getElementById('pre-games-section'); + var newElement = document.createElement('h1'); + newElement.setAttribute('id', 'on-later'); + newElement.innerText = 'Scheduled Games'; + targetElement.parentNode.insertBefore(newElement, targetElement); + } preGamesSection.innerHTML = generateGameBoxes(data.pre_games, 'PRE'); + } else { + var onLaterElement = document.getElementById('on-later'); + if (onLaterElement) { + onLaterElement.remove(); + } + preGamesSection.innerHTML = ''; } } if (finalGamesSection) { var finalGamesExist = data && data.final_games && data.final_games.length > 0; + + // Check if final games exist if (finalGamesExist) { - document.getElementById('game-over').innerText = "Game Over" + // Create or update "Game Over" heading + if (!document.getElementById('game-over')) { + var targetElement = document.getElementById('final-games-section'); + var newElement = document.createElement('h1'); + newElement.setAttribute('id', 'game-over'); + newElement.innerText = 'Game Over'; + targetElement.parentNode.insertBefore(newElement, targetElement); + } + + // Update final games section with generated game boxes finalGamesSection.innerHTML = generateGameBoxes(data.final_games, 'FINAL'); + } else { + // Remove "Game Over" heading if it exists and clear final games section + var gameOverElement = document.getElementById('game-over'); + if (gameOverElement) { + gameOverElement.remove(); + } + finalGamesSection.innerHTML = ''; } } } diff --git a/app/static/styles.css b/app/static/styles.css index a1acb49..06e4327 100644 --- a/app/static/styles.css +++ b/app/static/styles.css @@ -6,7 +6,8 @@ body { h1 { text-align: center; - margin-top: 20px; + margin-top: 15px; + margin-bottom: 25px; color: #f2f2f2; /* Lighten the text color */ } @@ -177,7 +178,6 @@ h1 { align-items: start; flex-wrap: wrap; justify-content: flex-start; - margin-top: 20px; } #pre-games-section { @@ -185,7 +185,6 @@ h1 { align-items: start; flex-wrap: wrap; justify-content: flex-start; - margin-top: 20px; } #final-games-section { @@ -193,7 +192,6 @@ h1 { align-items: start; flex-wrap: wrap; justify-content: flex-start; - margin-top: 20px; } /* Existing CSS styles */ diff --git a/app/templates/index.html b/app/templates/index.html index 7dc2d9a..9dbb0c3 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -6,15 +6,9 @@
- - - - - -