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) { @SeasonLeagueLayout("teams", season, league) { @SeasonLeagueTeams(season, league, teams, allTeams) } } 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) { {{ 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 {

{ team.Name }

if team.Color != "" {
}
{ team.ShortName } { team.AltShortName }
}
} if canAddTeam { @addTeamModal(season, league, teams, allTeams) }
}