package seasonsview import "git.haelnorr.com/h/oslstats/internal/db" import "git.haelnorr.com/h/oslstats/internal/view/component/links" import "fmt" templ SeasonLeagueStatsPage( season *db.Season, league *db.League, topGoals []*db.LeagueTopGoalScorer, topAssists []*db.LeagueTopAssister, topSaves []*db.LeagueTopSaver, ) { @SeasonLeagueLayout("stats", season, league) { @SeasonLeagueStats(season, league, topGoals, topAssists, topSaves) } } templ SeasonLeagueStats( season *db.Season, league *db.League, topGoals []*db.LeagueTopGoalScorer, topAssists []*db.LeagueTopAssister, topSaves []*db.LeagueTopSaver, ) { if len(topGoals) == 0 && len(topAssists) == 0 && len(topSaves) == 0 {

No stats available yet.

Player statistics will appear here once games are finalized.

} else {
@topGoalScorersTable(season, league, topGoals) @topAssistersTable(season, league, topAssists)
@topSaversTable(season, league, topSaves)
} } templ topGoalScorersTable(season *db.Season, league *db.League, goals []*db.LeagueTopGoalScorer) {

Top Goal Scorers

Sort: G ↓ PP ↑ SH ↑
if len(goals) == 0 {

No goal data available yet.

} else {
for i, gs := range goals { }
# Player Team G PP SH
{ fmt.Sprint(i + 1) } @links.PlayerLinkFromStats(gs.PlayerID, gs.PlayerName) @teamColorName(gs.TeamID, gs.TeamName, gs.TeamColor, season, league) { fmt.Sprint(gs.Goals) } { fmt.Sprint(gs.PeriodsPlayed) } { fmt.Sprint(gs.Shots) }
}
} templ topAssistersTable(season *db.Season, league *db.League, assists []*db.LeagueTopAssister) {

Top Assisters

Sort: A ↓ PP ↑ PA ↓
if len(assists) == 0 {

No assist data available yet.

} else {
for i, as := range assists { }
# Player Team A PP PA
{ fmt.Sprint(i + 1) } @links.PlayerLinkFromStats(as.PlayerID, as.PlayerName) @teamColorName(as.TeamID, as.TeamName, as.TeamColor, season, league) { fmt.Sprint(as.Assists) } { fmt.Sprint(as.PeriodsPlayed) } { fmt.Sprint(as.PrimaryAssists) }
}
} templ topSaversTable(season *db.Season, league *db.League, saves []*db.LeagueTopSaver) {

Top Saves

Sort: SV ↓ PP ↑ BLK ↓
if len(saves) == 0 {

No save data available yet.

} else {
for i, sv := range saves { }
# Player Team SV PP BLK
{ fmt.Sprint(i + 1) } @links.PlayerLinkFromStats(sv.PlayerID, sv.PlayerName) @teamColorName(sv.TeamID, sv.TeamName, sv.TeamColor, season, league) { fmt.Sprint(sv.Saves) } { fmt.Sprint(sv.PeriodsPlayed) } { fmt.Sprint(sv.Blocks) }
}
} templ teamColorName(teamID int, teamName string, teamColor string, season *db.Season, league *db.League) { if teamID > 0 && teamName != "" { if teamColor != "" { } { teamName } } else { } }