From 228ccd2f3de755cb99dc5290b1c20974cb594e11 Mon Sep 17 00:00:00 2001 From: Peter Date: Sun, 10 Nov 2024 20:54:36 -0600 Subject: [PATCH] Previous button for team 1, with watchers to update page data --- src/views/GameView.vue | 90 +++++++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 18 deletions(-) diff --git a/src/views/GameView.vue b/src/views/GameView.vue index 92d7b35..ff235f7 100644 --- a/src/views/GameView.vue +++ b/src/views/GameView.vue @@ -3,23 +3,36 @@
-
- - - +
+
+ + PREVIOUS + + + + +
-
+

{{ finalScore }}

Season {{ seasonNumber }} - Week {{ weekNumber }} - Game {{ gameNumber }}

-
+
-
@@ -357,10 +370,10 @@ import { fetchTeam } from '@/services/teamsService' import { outsToInnings } from '@/services/utilities' interface AdjacentGameHelper { - team1prevGame: Game - team1nextGame: Game - team2prevGame: Game - team2nextGame: Game + team1prevGame: Game | undefined + team1nextGame: Game | undefined + team2prevGame: Game | undefined + team2nextGame: Game | undefined } export default { @@ -471,6 +484,38 @@ export default { created() { this.fetchData() }, + watch: { + seasonNumber(newValue, oldValue) { + if (newValue !== oldValue) { + this.clearData() + this.fetchData() + } + }, + weekNumber(newValue, oldValue) { + if (newValue !== oldValue) { + this.clearData() + this.fetchData() + } + }, + gameNumber(newValue, oldValue) { + if (newValue !== oldValue) { + this.clearData() + this.fetchData() + } + }, + team1Abbreviation(newValue, oldValue) { + if (newValue !== oldValue) { + this.clearData() + this.fetchData() + } + }, + team2Abbreviation(newValue, oldValue) { + if (newValue !== oldValue) { + this.clearData() + this.fetchData() + } + }, + }, methods: { async fetchData(): Promise { this.isAuthenticated = await isDiscordAuthenticated() @@ -498,15 +543,24 @@ export default { const nextWeekNumber = this.gameNumber === 4 ? this.weekNumber + 1 : this.weekNumber this.adjacentGames = { - team1nextGame: team1Games.find(g => g.week === nextWeekNumber && g.game_num === nextGameNumber)!, - team1prevGame: team1Games.find(g => g.week === prevWeekNumber && g.game_num === prevGameNumber)!, - team2nextGame: team2Games.find(g => g.week === nextWeekNumber && g.game_num === nextGameNumber)!, - team2prevGame: team2Games.find(g => g.week === prevWeekNumber && g.game_num === prevGameNumber)! + team1nextGame: team1Games.find(g => g.week === nextWeekNumber && g.game_num === nextGameNumber), + team1prevGame: team1Games.find(g => g.week === prevWeekNumber && g.game_num === prevGameNumber), + team2nextGame: team2Games.find(g => g.week === nextWeekNumber && g.game_num === nextGameNumber), + team2prevGame: team2Games.find(g => g.week === prevWeekNumber && g.game_num === prevGameNumber) } }, + clearData(): void { + this.team1 = undefined + this.team2 = undefined + this.game = undefined + this.battingStats = [] + this.pitchingStats = [] + this.fieldingStats = [] + this.adjacentGames = undefined + }, outsToInnings(stat: PitchingStat): string { return outsToInnings(stat) }, } } - \ No newline at end of file +