diff --git a/src/views/StandingsView.vue b/src/views/StandingsView.vue
index 26322df..0881cae 100644
--- a/src/views/StandingsView.vue
+++ b/src/views/StandingsView.vue
@@ -13,20 +13,13 @@
-
-
-
International wOBA Grand Prix
-
- Crabbers
-
-
-
-
-
Fun Diff
-
- NL West
-
-
+
+
+
+
{{ division[0].divisionName }}
+
+
+
Wildcard
@@ -60,11 +53,8 @@ export default {
seasonNumber: CURRENT_SEASON as number,
weekNumber: undefined as number | undefined,
teamStandings: [] as TeamStanding[],
- iwgpTeams: [] as TeamStanding[],
- nlwTeams: [] as TeamStanding[],
wildcardTeams: [] as TeamStanding[],
- balTeams: [] as TeamStanding[],
- fdTeams: [] as TeamStanding[]
+ standingsByDivision: [[]] as TeamStanding[][]
}
},
created() {
@@ -76,14 +66,17 @@ export default {
this.weekNumber = leagueInfo.week
this.teamStandings = await fetchStandings(CURRENT_SEASON)
- // TODO this could be made more robust to division/league structure changes by identifying the unique
- // league/div abbreviations, then grouping on each into an array of arrays, then in the template above
- // v-for over the structure to generate a dynamic standings page
- this.iwgpTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'IWGP')
- this.nlwTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'NLW')
- this.balTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'BAL')
- this.fdTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'FD')
this.wildcardTeams = this.teamStandings.filter(ts => ts.isWildcardTeam)
+
+ const teamStandingsByDivisionAbbreviation: { [key: string]: TeamStanding[] } = {}
+ this.teamStandings.forEach(ts => {
+ if (!teamStandingsByDivisionAbbreviation[ts.divisionAbbreviation]) {
+ teamStandingsByDivisionAbbreviation[ts.divisionAbbreviation] = []
+ }
+ teamStandingsByDivisionAbbreviation[ts.divisionAbbreviation].push(ts)
+ })
+
+ this.standingsByDivision = Object.values(teamStandingsByDivisionAbbreviation)
},
}