added finals forfeits
This commit is contained in:
@@ -201,6 +201,7 @@ templ seriesCard(season *db.Season, league *db.League, series *db.PlayoffSeries)
|
||||
{{
|
||||
hasTeams := series.Team1 != nil || series.Team2 != nil
|
||||
seriesURL := fmt.Sprintf("/series/%d", series.ID)
|
||||
isForfeit := series.IsForfeit
|
||||
}}
|
||||
<div
|
||||
data-series={ fmt.Sprint(series.SeriesNumber) }
|
||||
@@ -209,7 +210,8 @@ templ seriesCard(season *db.Season, league *db.League, series *db.PlayoffSeries)
|
||||
}
|
||||
class={ "bg-surface0 border rounded-lg overflow-hidden",
|
||||
templ.KV("border-blue/50", series.Status == db.SeriesStatusInProgress),
|
||||
templ.KV("border-surface1", series.Status != db.SeriesStatusInProgress),
|
||||
templ.KV("border-red/50", isForfeit),
|
||||
templ.KV("border-surface1", series.Status != db.SeriesStatusInProgress && !isForfeit),
|
||||
templ.KV("hover:bg-surface1 hover:cursor-pointer transition", hasTeams) }
|
||||
>
|
||||
<!-- Series Header -->
|
||||
@@ -218,17 +220,24 @@ templ seriesCard(season *db.Season, league *db.League, series *db.PlayoffSeries)
|
||||
<span class="text-xs font-semibold text-subtext0">{ series.Label }</span>
|
||||
@seriesFormatBadge(series.MatchesToWin)
|
||||
</div>
|
||||
@seriesStatusBadge(series.Status)
|
||||
<div class="flex items-center gap-1">
|
||||
if isForfeit {
|
||||
<span class="px-1.5 py-0.5 bg-red/20 text-red rounded text-xs font-bold">
|
||||
FF
|
||||
</span>
|
||||
}
|
||||
@seriesStatusBadge(series.Status)
|
||||
</div>
|
||||
</div>
|
||||
<!-- Teams -->
|
||||
<div class="divide-y divide-surface1">
|
||||
@seriesTeamRow(season, league, series.Team1, series.Team1Seed, series.Team1Wins,
|
||||
series.WinnerTeamID, series.MatchesToWin)
|
||||
series.WinnerTeamID, series.ForfeitTeamID, series.MatchesToWin)
|
||||
@seriesTeamRow(season, league, series.Team2, series.Team2Seed, series.Team2Wins,
|
||||
series.WinnerTeamID, series.MatchesToWin)
|
||||
series.WinnerTeamID, series.ForfeitTeamID, series.MatchesToWin)
|
||||
</div>
|
||||
<!-- Series Score -->
|
||||
if series.MatchesToWin > 1 {
|
||||
if series.MatchesToWin > 1 && !isForfeit {
|
||||
<div class="bg-mantle px-3 py-1 text-center text-xs text-subtext0 border-t border-surface1">
|
||||
{ fmt.Sprint(series.Team1Wins) } - { fmt.Sprint(series.Team2Wins) }
|
||||
</div>
|
||||
@@ -236,16 +245,21 @@ templ seriesCard(season *db.Season, league *db.League, series *db.PlayoffSeries)
|
||||
</div>
|
||||
}
|
||||
|
||||
templ seriesTeamRow(season *db.Season, league *db.League, team *db.Team, seed *int, wins int, winnerID *int, matchesToWin int) {
|
||||
templ seriesTeamRow(season *db.Season, league *db.League, team *db.Team, seed *int, wins int, winnerID *int, forfeitTeamID *int, matchesToWin int) {
|
||||
{{
|
||||
isWinner := false
|
||||
if team != nil && winnerID != nil {
|
||||
isWinner = team.ID == *winnerID
|
||||
}
|
||||
isForfeiter := false
|
||||
if team != nil && forfeitTeamID != nil {
|
||||
isForfeiter = team.ID == *forfeitTeamID
|
||||
}
|
||||
isTBD := team == nil
|
||||
}}
|
||||
<div class={ "flex items-center justify-between px-3 py-2",
|
||||
templ.KV("bg-green/5", isWinner) }>
|
||||
templ.KV("bg-green/5", isWinner && !isForfeiter),
|
||||
templ.KV("bg-red/5", isForfeiter) }>
|
||||
<div class="flex items-center gap-2 min-w-0">
|
||||
if seed != nil {
|
||||
<span class="text-xs font-mono text-subtext0 w-4 text-right flex-shrink-0">
|
||||
@@ -260,12 +274,14 @@ templ seriesTeamRow(season *db.Season, league *db.League, team *db.Team, seed *i
|
||||
<div class="truncate">
|
||||
@links.TeamLinkInSeason(team, season, league)
|
||||
</div>
|
||||
if isWinner {
|
||||
if isForfeiter {
|
||||
<span class="text-red text-xs font-bold flex-shrink-0">FF</span>
|
||||
} else if isWinner {
|
||||
<span class="text-green text-xs flex-shrink-0">✓</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
if matchesToWin > 1 {
|
||||
if matchesToWin > 1 && forfeitTeamID == nil {
|
||||
<span class={ "text-sm font-mono flex-shrink-0 ml-2",
|
||||
templ.KV("text-text", !isWinner),
|
||||
templ.KV("text-green font-bold", isWinner) }>
|
||||
|
||||
Reference in New Issue
Block a user