package teamsview import "git.haelnorr.com/h/oslstats/internal/db" import "git.haelnorr.com/h/oslstats/internal/view/baseview" import "git.haelnorr.com/h/oslstats/internal/view/pagination" import "git.haelnorr.com/h/oslstats/internal/view/sort" import "git.haelnorr.com/h/oslstats/internal/contexts" import "git.haelnorr.com/h/oslstats/internal/permissions" import "github.com/uptrace/bun" import "fmt" templ ListPage(teams *db.List[db.Team]) { @baseview.Layout("Teams") {
@TeamsList(teams)
} } templ TeamsList(teams *db.List[db.Team]) { {{ permCache := contexts.Permissions(ctx) canAddTeam := permCache.HasPermission(permissions.TeamsCreate) sortOpts := []db.OrderOpts{ { Order: bun.OrderAsc, OrderBy: "name", Label: "Name (A-Z)", }, { Order: bun.OrderDesc, OrderBy: "name", Label: "Name (Z-A)", }, { Order: bun.OrderAsc, OrderBy: "short_name", Label: "Short Name (A-Z)", }, { Order: bun.OrderDesc, OrderBy: "short_name", Label: "Short Name (Z-A)", }, } }}
Teams if canAddTeam { Add team }
@sort.Dropdown(teams.PageOpts, sortOpts)
if len(teams.Items) == 0 {

No teams found

} else { @pagination.Pagination(teams.PageOpts, teams.Total) }
}