playoff visual fixes
This commit is contained in:
@@ -142,7 +142,12 @@ type LeagueWithTeams struct {
|
||||
Teams []*Team
|
||||
}
|
||||
|
||||
// GetStatus returns the current status of the season based on dates
|
||||
// GetStatus returns the current status of the season based on dates.
|
||||
// Dates are treated as inclusive days:
|
||||
// - StartDate: season is "in progress" from the start of this day
|
||||
// - EndDate: season is "in progress" through the end of this day
|
||||
// - FinalsStartDate: finals are active from the start of this day
|
||||
// - FinalsEndDate: finals are active through the end of this day
|
||||
func (s *Season) GetStatus() SeasonStatus {
|
||||
now := time.Now()
|
||||
|
||||
@@ -150,20 +155,32 @@ func (s *Season) GetStatus() SeasonStatus {
|
||||
return StatusUpcoming
|
||||
}
|
||||
|
||||
// dayPassed returns true if the entire calendar day of t has passed.
|
||||
// e.g., if t is March 8, this returns true starting March 9 00:00:00.
|
||||
dayPassed := func(t time.Time) bool {
|
||||
return now.After(t.Truncate(time.Hour*24).AddDate(0, 0, 1))
|
||||
}
|
||||
|
||||
// dayStarted returns true if the calendar day of t has started.
|
||||
// e.g., if t is March 8, this returns true starting March 8 00:00:00.
|
||||
dayStarted := func(t time.Time) bool {
|
||||
return !now.Before(t.Truncate(time.Hour * 24))
|
||||
}
|
||||
|
||||
if !s.FinalsStartDate.IsZero() {
|
||||
if !s.FinalsEndDate.IsZero() && now.After(s.FinalsEndDate.Time) {
|
||||
if !s.FinalsEndDate.IsZero() && dayPassed(s.FinalsEndDate.Time) {
|
||||
return StatusCompleted
|
||||
}
|
||||
if now.After(s.FinalsStartDate.Time) {
|
||||
if dayStarted(s.FinalsStartDate.Time) {
|
||||
return StatusFinals
|
||||
}
|
||||
if !s.EndDate.IsZero() && now.After(s.EndDate.Time) {
|
||||
if !s.EndDate.IsZero() && dayPassed(s.EndDate.Time) {
|
||||
return StatusFinalsSoon
|
||||
}
|
||||
return StatusInProgress
|
||||
}
|
||||
|
||||
if !s.EndDate.IsZero() && now.After(s.EndDate.Time) {
|
||||
if !s.EndDate.IsZero() && dayPassed(s.EndDate.Time) {
|
||||
return StatusCompleted
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user