finals stats moved out of regular season stats

This commit is contained in:
2026-03-15 13:11:26 +11:00
parent ad93c44fae
commit 9e729d20b3
4 changed files with 350 additions and 6 deletions

View File

@@ -22,7 +22,7 @@ import (
// SeasonLeagueFinalsPage renders the finals tab of a season league page.
// Displays different content based on season status:
// - In Progress: "Regular Season in Progress" with optional "Begin Finals" button
// - Finals Soon/Finals/Completed: The playoff bracket
// - Finals Soon/Finals/Completed: The playoff bracket + finals stats
func SeasonLeagueFinalsPage(
s *hws.Server,
conn *db.DB,
@@ -34,6 +34,10 @@ func SeasonLeagueFinalsPage(
var season *db.Season
var league *db.League
var bracket *db.PlayoffBracket
var topGoals []*db.LeagueTopGoalScorer
var topAssists []*db.LeagueTopAssister
var topSaves []*db.LeagueTopSaver
var allStats []*db.LeaguePlayerStats
if ok := conn.WithReadTx(s, w, r, func(ctx context.Context, tx bun.Tx) (bool, error) {
var err error
@@ -54,15 +58,35 @@ func SeasonLeagueFinalsPage(
return false, errors.Wrap(err, "db.GetPlayoffBracket")
}
// Load playoff stats if bracket exists
if bracket != nil {
topGoals, err = db.GetPlayoffTopGoalScorers(ctx, tx, season.ID, league.ID)
if err != nil {
return false, errors.Wrap(err, "db.GetPlayoffTopGoalScorers")
}
topAssists, err = db.GetPlayoffTopAssisters(ctx, tx, season.ID, league.ID)
if err != nil {
return false, errors.Wrap(err, "db.GetPlayoffTopAssisters")
}
topSaves, err = db.GetPlayoffTopSavers(ctx, tx, season.ID, league.ID)
if err != nil {
return false, errors.Wrap(err, "db.GetPlayoffTopSavers")
}
allStats, err = db.GetPlayoffPlayerStats(ctx, tx, season.ID, league.ID)
if err != nil {
return false, errors.Wrap(err, "db.GetPlayoffPlayerStats")
}
}
return true, nil
}); !ok {
return
}
if r.Method == "GET" {
renderSafely(seasonsview.SeasonLeagueFinalsPage(season, league, bracket), s, r, w)
renderSafely(seasonsview.SeasonLeagueFinalsPage(season, league, bracket, topGoals, topAssists, topSaves, allStats), s, r, w)
} else {
renderSafely(seasonsview.SeasonLeagueFinals(season, league, bracket), s, r, w)
renderSafely(seasonsview.SeasonLeagueFinals(season, league, bracket, topGoals, topAssists, topSaves, allStats), s, r, w)
}
})
}