Point all links on transactions to active rosters

This commit is contained in:
Peter 2024-11-16 09:51:00 -06:00
parent 8b94097b9d
commit 16ca772f01

View File

@ -41,17 +41,20 @@
<tr v-for="transaction in weekTransactions" :key="transaction.id">
<td>{{ selectedWeekNumber }}</td>
<td>
<RouterLink :to="{ name: 'player', params: { seasonNumber: seasonNumber, playerName: transaction.player.name } }">
<RouterLink
:to="{ name: 'player', params: { seasonNumber: seasonNumber, playerName: transaction.player.name } }">
{{ transaction.player.name }}
</RouterLink>
</td>
<td>
<RouterLink :to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: transaction.oldteam.abbrev } }">
<RouterLink
:to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: getMajorsAbbreviation(transaction.oldteam) } }">
{{ transaction.oldteam.sname }}
</RouterLink>
</td>
<td>
<RouterLink :to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: transaction.newteam.abbrev } }">
<RouterLink
:to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: getMajorsAbbreviation(transaction.newteam) } }">
{{ transaction.newteam.sname }}
</RouterLink>
</td>
@ -76,17 +79,20 @@
<tr v-for="transaction in nextWeekTransactions" :key="transaction.id">
<td>{{ selectedWeekNumber + 1 }}</td>
<td>
<RouterLink :to="{ name: 'player', params: { seasonNumber: seasonNumber, playerName: transaction.player.name } }">
<RouterLink
:to="{ name: 'player', params: { seasonNumber: seasonNumber, playerName: transaction.player.name } }">
{{ transaction.player.name }}
</RouterLink>
</td>
<td>
<RouterLink :to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: transaction.oldteam.abbrev } }">
<RouterLink
:to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: getMajorsAbbreviation(transaction.oldteam) } }">
{{ transaction.oldteam.sname }}
</RouterLink>
</td>
<td>
<RouterLink :to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: transaction.newteam.abbrev } }">
<RouterLink
:to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: getMajorsAbbreviation(transaction.newteam) } }">
{{ transaction.newteam.sname }}
</RouterLink>
</td>
@ -100,6 +106,7 @@
</template>
<script lang="ts">
import { type Team } from '@/services/apiResponseTypes'
import { type LeagueInfo, fetchCurrentLeagueInfo } from '@/services/currentService'
import { fetchTransactionsByWeek, type Transaction } from '@/services/transactionsService'
import { CURRENT_SEASON } from '@/services/utilities'
@ -118,7 +125,6 @@ export default {
weekNumber: { type: Number, required: false }
},
created() {
this.fetchCurrentWeekNumber()
this.fetchData()
},
computed: {
@ -149,8 +155,22 @@ export default {
this.currentWeekNumber = leagueInfo.week
},
async fetchData(): Promise<void> {
await this.fetchCurrentWeekNumber()
this.weekTransactions = await fetchTransactionsByWeek(this.seasonNumber, this.selectedWeekNumber)
this.nextWeekTransactions = await fetchTransactionsByWeek(this.seasonNumber, this.selectedWeekNumber + 1)
},
getMajorsAbbreviation(team: Team): string {
const indexOfMiL = team.abbrev.indexOf('MiL')
const indexOfIL = team.abbrev.indexOf('IL')
if (indexOfMiL < 0 && indexOfIL < 0) return team.abbrev
if (indexOfMiL >= 0) return team.abbrev.slice(0, indexOfMiL)
if (indexOfIL >= 0) return team.abbrev.slice(0, indexOfIL)
console.warn('Should not have reached here with abbreviation pruning: ', team.abbrev, indexOfMiL, indexOfIL)
return team.abbrev
}
}
}