Style and partial player page
This commit is contained in:
parent
be2cf17a9e
commit
4bb6aa443c
BIN
public/sba-logo.png
Normal file
BIN
public/sba-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<html lang="en" style="height: 100%">
|
||||
<!-- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
|
||||
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.5.2/yeti/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/src/assets/oldSite.css"> -->
|
||||
<link rel="stylesheet" href="/src/assets/oldSite.css">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@ -1,20 +1,195 @@
|
||||
<template>
|
||||
<div class="navbar navbar-expand-sm navbar-dark bg-primary ">
|
||||
<div class="nav-bar navbar-brand mb-0 h1">
|
||||
<RouterLink to="/">SBa Season {{ seasonNumber }}</RouterLink>
|
||||
<n-menu mode="horizontal" :options="menuOptions" />
|
||||
<li class="nav-item"> <a id="login" class="nav-link">Login with Discord</a></li>
|
||||
<li class="nav-item">
|
||||
<a id="team-login-link" href="/teams?abbrev=">
|
||||
<img id="team-login" style="max-height:35px" hidden />
|
||||
</a>
|
||||
</li>
|
||||
<nav class="navbar navbar-expand-sm navbar-dark bg-primary" style="margin-bottom: 1rem" id="navbar">
|
||||
<RouterLink class="nav-link" to="/">SBa Season {{ seasonNumber }}</RouterLink>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse"
|
||||
aria-controls="top-navbar-collapse" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="top-navbar-collapse">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<!-- TODO -->
|
||||
<RouterLink class="nav-link" to="/schedule">Schedule</RouterLink>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<!-- TODO -->
|
||||
<RouterLink class="nav-link" to="/standings">Standings</RouterLink>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="statsDropdown" role="button" data-toggle="dropdown"
|
||||
aria-haspopup="true" aria-expanded="false">Stats & Leaders</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="statsDropdown">
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Season Leaders</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/stats/leaders/season?stat=batting">Batting Leaders</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/season?stat=pitching">Pitching Leaders</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/season?stat=fielding">Fielding Leaders</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Team Stats</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/stats/team?stat=batting">Team Batting</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/team?stat=pitching">Team Pitching</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/team?stat=fielding">Team Fielding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Single-Game Records</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=batting">Single-Game Batting</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=pitching">Single-Game Pitching</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=fielding">Single-Game Fielding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Single-Season Leaders</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=batting">Single-Season Batting</a>
|
||||
</li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=pitching">Single-Season Pitching</a>
|
||||
</li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=fielding">Single-Season Fielding</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Career Leaders</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/stats/leaders/career?stat=batting">Career Batting</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/career?stat=pitching">Career Pitching</a></li>
|
||||
<li><a class="dropdown-item" href="/stats/leaders/career?stat=fielding">Career Fielding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="teamsDropdown" role="button" data-toggle="dropdown"
|
||||
aria-haspopup="true" aria-expanded="false">Teams</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="teamsDropdown">
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">AL East</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=NSH">Gators</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=HAM">Honeybees</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=TK">Kaiju</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=PHP">Phantoms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">AL West</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=CHC">Cyclones</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=PEI">Mussels</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=WAI">Whale Sharks</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=SHA">Wu Xia</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">NL East</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=DAL">Drillers</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=CLS">Macho Men</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=KSS">Shoebills</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=DEN">Zephyr</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">NL West</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=VA">Angels</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=WV">Black Bears</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=MKE">Bovines</a></li>
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=BSG">Snow Geese</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" id="transDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
|
||||
aria-expanded="false">Transactions</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="transDropdown">
|
||||
<li><a class="dropdown-item" href="/teams?abbrev=FA">Free Agents</a></li>
|
||||
<li><a class="dropdown-item" href="/transactions">Transactions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" id="historyDropdown" role="button" data-toggle="dropdown"
|
||||
aria-haspopup="true" aria-expanded="false">History</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="historyDropdown">
|
||||
<li><a class="dropdown-item" href="/awards">Awards</a></li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Managers</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Active</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/managers?name=Basebally">Basebally</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Brian Taylor">BT</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Cal">Cal</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Cash">Cash</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Derek">Derek</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Foxx">Foxx</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Jack">Jack</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Joe">Joe</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Josef">Josef</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=JP">JP</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=JZ">JZ</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Kiger">Kiger</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Kilo">Kilo</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Kalin">Kalin</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Lyle">Lyle</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Mason">Mason</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Mcast">Mcast</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Paulie">Paulie</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Plack">Plack</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Reed">Reed</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Riles">Riles</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Ryan">Ryan</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Smitty">Smitty</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Will">Will</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Retired</a>
|
||||
<ul class="dropdown-menu">
|
||||
|
||||
<li><a class="dropdown-item" href="/managers?name=Berna">Berna</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Boof">Boof</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Caleb">Caleb</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Diego">Diego</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Jingles">Jingles</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Jojo">Jojo</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Petra">Petra</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Triumph">Triumph</a></li>
|
||||
<li><a class="dropdown-item" href="/managers?name=Val">Val</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="dropdown-item dropdown-toggle" href="#">Season Recaps</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/recaps?season=6">Season 6</a></li>
|
||||
<li><a class="dropdown-item" href="/recaps?season=5">Season 5</a></li>
|
||||
<li><a class="dropdown-item" href="/recaps?season=4">Season 4</a></li>
|
||||
<li><a class="dropdown-item" href="/recaps?season=3">Season 3</a></li>
|
||||
<li><a class="dropdown-item" href="/recaps?season=2">Season 2</a></li>
|
||||
<li><a class="dropdown-item" href="/recaps?season=1">Season 1</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/rules">Rules Ref</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/news">News</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a id="login" class="nav-link">Login with Discord</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<!-- TODO RouterLink to team page with team icon -->
|
||||
<a id="team-login-link" href="/teams?abbrev="></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form class="form-inline" action="/players">
|
||||
<input type="text" name="name" placeholder="Player Search" list="player-names" id="player-choice">
|
||||
<datalist id="player-names">
|
||||
<option v-for="name in playerNames" :value="name">{{ name }}</option>
|
||||
</datalist>
|
||||
</form>
|
||||
|
||||
<ul class="navbar-nav navbar-right">
|
||||
<li class="nav-item">
|
||||
<div class="custom-control custom-switch">
|
||||
@ -25,7 +200,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- <nav class="container">
|
||||
<RouterLink to="/">SBa Season {{ seasonNumber }}</RouterLink>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="standings-table">
|
||||
<table>
|
||||
<thead>
|
||||
<div class="standings-table table-responsive-xl">
|
||||
<table class="table table-sm table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Team</th>
|
||||
<th>Record</th>
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
<template>
|
||||
<button @click="players">Log Players</button>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { fetchPlayers } from '@/services/playersService'
|
||||
import { CURRENT_SEASON } from '@/services/utilities'
|
||||
|
||||
export default {
|
||||
methods: {
|
||||
async players(): Promise<void> {
|
||||
await fetchPlayers(CURRENT_SEASON)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -36,8 +36,8 @@ interface TeamStandingRaw {
|
||||
export interface TeamStanding {
|
||||
teamName: string
|
||||
teamAbbreviation: string
|
||||
divisionAbbreviation: 'W' | 'E'
|
||||
leagueAbbreviation: 'NL' | 'AL'
|
||||
divisionAbbreviation: string
|
||||
leagueAbbreviation: string
|
||||
wins: number
|
||||
losses: number
|
||||
winPercentage: string,
|
||||
@ -52,7 +52,7 @@ export interface TeamStanding {
|
||||
}
|
||||
|
||||
export async function fetchStandings(seasonNumber: number): Promise<TeamStanding[]> {
|
||||
const response = await fetch(`${SITE_URL}/api/v3/standings?season=${seasonNumber}`)//?league_abbrev=AL&division_abbrev=W`)
|
||||
const response = await fetch(`${SITE_URL}/api/v3/standings?season=${seasonNumber}`)
|
||||
|
||||
const standingsResponse: {
|
||||
count: number
|
||||
@ -66,7 +66,7 @@ export async function fetchStandings(seasonNumber: number): Promise<TeamStanding
|
||||
function normalizeStanding(standing: TeamStandingRaw): TeamStanding {
|
||||
const totalGamesPlayed = standing.wins + standing.losses
|
||||
// round win percentage to 3 decimal places
|
||||
const winPercentage: string = totalGamesPlayed ? `${Math.round(standing.wins / totalGamesPlayed * 1000) / 1000}%` : '-'
|
||||
const winPercentage: string = totalGamesPlayed ? `${(standing.wins / totalGamesPlayed).toFixed(3)}` : '-'
|
||||
|
||||
const formattedRunDiff = `${standing.run_diff > 0 ? '+' : ''}${standing.run_diff}`
|
||||
const isWildcardTeam = standing.wc_gb !== null || standing.wc_e_num !== null
|
||||
|
||||
@ -1,33 +1,37 @@
|
||||
<template>
|
||||
<main class="home-view">
|
||||
<TheWelcome />
|
||||
|
||||
<h1>Season {{ seasonNumber }} Standings</h1>
|
||||
<h2 id="week-num">{{ weekNumber ? `Week ${weekNumber}` : '' }}</h2>
|
||||
|
||||
<!-- Division Standings -->
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<h2>American League</h2>
|
||||
<h3>East</h3>
|
||||
<StandingsTable :teams="alEastTeams" :is-divisional=true />
|
||||
<h3>West</h3>
|
||||
<StandingsTable :teams="alWestTeams" :is-divisional=true />
|
||||
<h3>AL Wildcard</h3>
|
||||
<StandingsTable :teams="alWildcardTeams" :is-divisional=false />
|
||||
|
||||
<h2>National League</h2>
|
||||
<h3>East</h3>
|
||||
<StandingsTable :teams="nlEastTeams" :is-divisional=true />
|
||||
<h3>West</h3>
|
||||
<StandingsTable :teams="nlWestTeams" :is-divisional=true />
|
||||
<h3>NL Wildcard</h3>
|
||||
<StandingsTable :teams="nlWildcardTeams" :is-divisional=false />
|
||||
<div class="centerDiv">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h1>Season {{ seasonNumber }} Standings</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h2 id="week-num">{{ weekNumber ? `Week ${weekNumber}` : '' }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<h3>Latest News</h3>
|
||||
<div id="news-posts"></div>
|
||||
<!-- Division Standings -->
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h2>SBa League</h2>
|
||||
<h3>International wOBA Grand Prix</h3>
|
||||
<StandingsTable :teams="iwgpTeams" :is-divisional=true />
|
||||
<h3>Crabbers</h3>
|
||||
<StandingsTable :teams="balTeams" :is-divisional=true />
|
||||
<h3>Fun Diff</h3>
|
||||
<StandingsTable :teams="fdTeams" :is-divisional=true />
|
||||
<h3>NL West</h3>
|
||||
<StandingsTable :teams="nlwTeams" :is-divisional=true />
|
||||
<h3>Wildcard</h3>
|
||||
<StandingsTable :teams="wildcardTeams" :is-divisional=false />
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<h3>Latest News</h3>
|
||||
<div id="news-posts"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
@ -38,7 +42,6 @@ import StandingsTable from '@/components/StandingsTable.vue'
|
||||
import { fetchStandings, type TeamStanding } from '@/services/standingsService'
|
||||
import { fetchCurrentLeagueInfo, type LeagueInfo } from '@/services/currentService'
|
||||
import { CURRENT_SEASON } from '@/services/utilities'
|
||||
import TheWelcome from '../components/TheWelcome.vue'
|
||||
|
||||
export default {
|
||||
name: "HomeView",
|
||||
@ -47,12 +50,11 @@ export default {
|
||||
seasonNumber: CURRENT_SEASON as number,
|
||||
weekNumber: undefined as number | undefined,
|
||||
teamStandings: [] as TeamStanding[],
|
||||
alEastTeams: [] as TeamStanding[],
|
||||
alWestTeams: [] as TeamStanding[],
|
||||
alWildcardTeams: [] as TeamStanding[],
|
||||
nlEastTeams: [] as TeamStanding[],
|
||||
nlWestTeams: [] as TeamStanding[],
|
||||
nlWildcardTeams: [] as TeamStanding[],
|
||||
iwgpTeams: [] as TeamStanding[],
|
||||
nlwTeams: [] as TeamStanding[],
|
||||
wildcardTeams: [] as TeamStanding[],
|
||||
balTeams: [] as TeamStanding[],
|
||||
fdTeams: [] as TeamStanding[]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@ -63,14 +65,15 @@ export default {
|
||||
const leagueInfo: LeagueInfo = await fetchCurrentLeagueInfo()
|
||||
this.weekNumber = leagueInfo.week
|
||||
|
||||
// TODO CHANGE THIS
|
||||
this.teamStandings = await fetchStandings(CURRENT_SEASON - 1)
|
||||
this.alEastTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'E' && ts.leagueAbbreviation === 'AL')
|
||||
this.alWestTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'W' && ts.leagueAbbreviation === 'AL')
|
||||
this.nlEastTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'E' && ts.leagueAbbreviation === 'NL')
|
||||
this.nlWestTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'W' && ts.leagueAbbreviation === 'NL')
|
||||
this.alWildcardTeams = this.teamStandings.filter(ts => ts.leagueAbbreviation === 'AL' && ts.isWildcardTeam)
|
||||
this.nlWildcardTeams = this.teamStandings.filter(ts => ts.leagueAbbreviation === 'NL' && ts.isWildcardTeam)
|
||||
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)
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<!-- Heading -->
|
||||
<div class="row">
|
||||
<div class="col-sm">
|
||||
<h1 id="player-name">{{ playerName }}</h1>
|
||||
<h1 id="player-name">{{ playerName }}{{ injuryReturnDate }}</h1>
|
||||
<h2 id="player-wara">{{ player?.wara }} sWAR</h2>
|
||||
</div>
|
||||
|
||||
@ -19,25 +19,15 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-auto">
|
||||
<img style="max-height:485px; max-width: 100%;" id="team-image"
|
||||
src="https://cdn.discordapp.com/attachments/953450064985088040/1070303195361984553/PrSBA8r_d.webp"
|
||||
alt="Mussels">
|
||||
<p><a id="bbref-link" target="_blank"
|
||||
href="https://www.baseball-reference.com/search/search.fcgi?search=Fernando Tatis Jr">Baseball Reference
|
||||
Page</a></p>
|
||||
<img style="max-height:485px; max-width: 100%;" id="team-image" :src="playerImageUrl" :alt="playerName">
|
||||
<p><a id="bbref-link" target="_blank" :href="baseballReferenceUrl">Baseball Reference Page</a></p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-auto">
|
||||
<img style="max-height:485px; max-width: 100%;" id="card-image"
|
||||
src="https://sombaseball.ddns.net/cards/2021/fernando-tatis-jr.png">
|
||||
<img id="card2-image" style="max-width:100%">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Injured Block -->
|
||||
<div class="row" id="injured-block" hidden=false>
|
||||
<div class="col-sm-12">
|
||||
<h1 id="injured-return" style="color: red">INJURED - RETURN DATE: </h1>
|
||||
<img v-if="playerCardImage1Url" style="max-height:485px; max-width: 100%;" id="card-image"
|
||||
:src="playerCardImage1Url">
|
||||
<img v-if="playerCardImage2Url" style="max-height:485px; max-width: 100%;" id="card-image"
|
||||
:src="playerCardImage2Url">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -123,7 +113,7 @@
|
||||
</thead>
|
||||
<tbody id="batter-summary-helper">
|
||||
<tr>
|
||||
<td>3p80</td>
|
||||
<td>{{ injuryRating }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1210,12 +1200,39 @@ export default {
|
||||
playerName: { type: String, required: true }
|
||||
},
|
||||
computed: {
|
||||
isAuthorized(): boolean {
|
||||
//TODO check discord oauth/cookie/token
|
||||
return true
|
||||
},
|
||||
teamAbbreviation(): string | undefined {
|
||||
console.log('abbrev', this.player?.team?.abbrev)
|
||||
return this.player?.team?.abbrev
|
||||
},
|
||||
teamThumbnail(): string | undefined {
|
||||
return this.player?.team?.thumbnail
|
||||
},
|
||||
baseballReferenceUrl(): string | undefined {
|
||||
if (!this.player?.bbref_id) return undefined
|
||||
const firstChar = this.player.bbref_id.slice(0, 1)
|
||||
return `https://www.baseball-reference.com/players/${firstChar}/${this.player.bbref_id}.shtml`
|
||||
},
|
||||
playerImageUrl(): string | undefined {
|
||||
return this.player?.vanity_card ?? this.teamThumbnail
|
||||
},
|
||||
playerCardImage1Url(): string | undefined {
|
||||
if (!this.isAuthorized) return undefined
|
||||
return this.player?.image
|
||||
},
|
||||
playerCardImage2Url(): string | undefined {
|
||||
if (!this.isAuthorized) return undefined
|
||||
return this.player?.image2
|
||||
},
|
||||
injuryReturnDate(): string | undefined {
|
||||
if (!this.player?.il_return) return undefined
|
||||
return ` 🏥 (${this.player.il_return})`
|
||||
},
|
||||
injuryRating(): string | undefined {
|
||||
return this.player?.injury_rating
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
{{ player.name }}
|
||||
</RouterLink>
|
||||
</td>
|
||||
<td>{{ player.wara }}</td>
|
||||
<td>{{ player.wara.toFixed(2) }}</td>
|
||||
<td>{{ player.injury_rating }}</td>
|
||||
<td>{{ allPositions(player) }}</td>
|
||||
</tr>
|
||||
@ -80,7 +80,7 @@
|
||||
<tr>
|
||||
<th>Pos</th>
|
||||
<th>Name</th>
|
||||
<th>WARa</th>
|
||||
<th>sWAR</th>
|
||||
<th>Inj Return</th>
|
||||
<th>Positions</th>
|
||||
</tr>
|
||||
@ -93,7 +93,7 @@
|
||||
{{ player.name }}
|
||||
</RouterLink>
|
||||
</td>
|
||||
<td>{{ player.wara }}</td>
|
||||
<td>{{ player.wara.toFixed(2) }}</td>
|
||||
<td>{{ player.il_return }}</td>
|
||||
<td>{{ allPositions(player) }}</td>
|
||||
</tr>
|
||||
@ -107,7 +107,7 @@
|
||||
<tr>
|
||||
<th>Pos</th>
|
||||
<th>Name</th>
|
||||
<th>WARa</th>
|
||||
<th>sWAR</th>
|
||||
<th>Inj Return</th>
|
||||
<th>Positions</th>
|
||||
</tr>
|
||||
@ -120,7 +120,7 @@
|
||||
{{ player.name }}
|
||||
</RouterLink>
|
||||
</td>
|
||||
<td>{{ player.wara }}</td>
|
||||
<td>{{ player.wara.toFixed(2) }}</td>
|
||||
<td>{{ player.il_return }}</td>
|
||||
<td>{{ allPositions(player) }}</td>
|
||||
</tr>
|
||||
@ -237,7 +237,7 @@ export default {
|
||||
this.teamMinors = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}MiL`)
|
||||
this.teamInjuredList = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}IL`)
|
||||
|
||||
this.teamStanding = (await fetchStandings(this.seasonNumber - 1)).find(ts => ts.teamName === this.team?.sname)
|
||||
this.teamStanding = (await fetchStandings(this.seasonNumber)).find(ts => ts.teamName === this.team?.sname)
|
||||
this.weekNumber = (await fetchCurrentLeagueInfo()).week
|
||||
|
||||
this.players = await fetchPlayersByTeam(this.seasonNumber, this.team?.id)
|
||||
@ -245,7 +245,6 @@ export default {
|
||||
this.playersInjuredList = await fetchPlayersByTeam(this.seasonNumber, this.teamInjuredList?.id)
|
||||
|
||||
this.transactions = (await fetchTransactionsByTeamAndWeek(this.seasonNumber, this.teamAbbreviation, this.transactionsWeekNumber!))
|
||||
console.log(this.transactions)
|
||||
},
|
||||
allPositions(player: Player): string {
|
||||
let positions = []
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
{
|
||||
"extends": "@vue/tsconfig/tsconfig.web.json",
|
||||
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
|
||||
"include": [
|
||||
"env.d.ts",
|
||||
"src/**/*",
|
||||
"src/**/*.vue"
|
||||
],
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"target": "ES6",
|
||||
"module": "NodeNext",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
"@/*": [
|
||||
"./src/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.config.json"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user