added team rosters to season_league overview
This commit is contained in:
@@ -5,9 +5,9 @@ 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) {
|
||||
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)
|
||||
@SeasonLeagueTeams(season, league, teams, allTeams, managers)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ templ addTeamModal(season *db.Season, league *db.League, existingTeams []*db.Tea
|
||||
</div>
|
||||
}
|
||||
|
||||
templ SeasonLeagueTeams(season *db.Season, league *db.League, teams []*db.Team, allTeams []*db.Team) {
|
||||
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)
|
||||
@@ -122,6 +122,9 @@ templ SeasonLeagueTeams(season *db.Season, league *db.League, teams []*db.Team,
|
||||
} else {
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||
for _, team := range teams {
|
||||
{{
|
||||
manager := managers[team.ID]
|
||||
}}
|
||||
<a
|
||||
href={ templ.SafeURL(fmt.Sprintf("/seasons/%s/leagues/%s/teams/%d", season.ShortName, league.ShortName, team.ID)) }
|
||||
class="bg-surface0 border border-surface1 rounded-lg p-6 hover:bg-surface1 transition-colors hover:cursor-pointer block"
|
||||
@@ -135,7 +138,7 @@ templ SeasonLeagueTeams(season *db.Season, league *db.League, teams []*db.Team,
|
||||
></div>
|
||||
}
|
||||
</div>
|
||||
<div class="flex items-center gap-2 text-sm flex-wrap">
|
||||
<div class="flex items-center gap-2 text-sm flex-wrap mb-3">
|
||||
<span class="px-2 py-1 bg-mantle rounded text-subtext0 font-mono">
|
||||
{ team.ShortName }
|
||||
</span>
|
||||
@@ -143,6 +146,28 @@ templ SeasonLeagueTeams(season *db.Season, league *db.League, teams []*db.Team,
|
||||
{ team.AltShortName }
|
||||
</span>
|
||||
</div>
|
||||
<!-- Roster -->
|
||||
if len(team.Players) == 0 {
|
||||
<p class="text-subtext1 text-xs italic">No roster</p>
|
||||
} else {
|
||||
<div class="border-t border-surface1 pt-3 space-y-1">
|
||||
if manager != nil {
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-sm text-text font-medium">{ manager.Name }</span>
|
||||
<span class="text-xs px-1.5 py-0.5 bg-yellow/20 text-yellow rounded font-medium">
|
||||
★ Mgr
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
for _, player := range team.Players {
|
||||
if manager == nil || player.ID != manager.ID {
|
||||
<div>
|
||||
<span class="text-sm text-subtext0">{ player.Name }</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user