package seasonsview import "git.haelnorr.com/h/oslstats/internal/db" import "git.haelnorr.com/h/oslstats/internal/permissions" import "git.haelnorr.com/h/oslstats/internal/contexts" import "fmt" templ SeasonLeagueTeamsPage(season *db.Season, league *db.League, teams []*db.Team, allTeams []*db.Team, managers map[int]*db.Player) { @SeasonLeagueLayout("teams", season, league) { @SeasonLeagueTeams(season, league, teams, allTeams, managers) } } templ addTeamModal(season *db.Season, league *db.League, existingTeams []*db.Team, allTeams []*db.Team) { {{ // Filter out teams already in this league existingTeamIDs := make(map[int]bool) for _, t := range existingTeams { existingTeamIDs[t.ID] = true } availableTeams := []*db.Team{} for _, t := range allTeams { if !existingTeamIDs[t.ID] { availableTeams = append(availableTeams, t) } } }} } templ SeasonLeagueTeams(season *db.Season, league *db.League, teams []*db.Team, allTeams []*db.Team, managers map[int]*db.Player) { {{ permCache := contexts.Permissions(ctx) canAddTeam := permCache.HasPermission(permissions.TeamsAddToLeague) }}

Teams ({ fmt.Sprint(len(teams)) })

if canAddTeam { }
if len(teams) == 0 {

No teams in this league yet.

if canAddTeam {

Click "Add Team" to get started.

}
} else {
for _, team := range teams { {{ manager := managers[team.ID] }}

{ team.Name }

if team.Color != "" {
}
{ team.ShortName } { team.AltShortName }
if len(team.Players) == 0 {

No roster

} else {
if manager != nil {
{ manager.Name } ★ Mgr
} for _, player := range team.Players { if manager == nil || player.ID != manager.ID {
{ player.Name }
} }
}
}
} if canAddTeam { @addTeamModal(season, league, teams, allTeams) }
}