package seasonsview 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 "fmt" import "time" import "github.com/uptrace/bun" import "git.haelnorr.com/h/oslstats/internal/contexts" import "git.haelnorr.com/h/oslstats/internal/permissions" templ ListPage(seasons *db.List[db.Season]) { @baseview.Layout("Seasons") {
@SeasonsList(seasons) @NewSeasonModal()
} } templ SeasonsList(seasons *db.List[db.Season]) { {{ permCache := contexts.Permissions(ctx) canAddSeason := permCache.HasPermission(permissions.SeasonsCreate) sortOpts := []db.OrderOpts{ { Order: bun.OrderDesc, OrderBy: "start_date", Label: "Start Date (Newest First)", }, { Order: bun.OrderAsc, OrderBy: "start_date", Label: "Start Date (Oldest First)", }, { Order: bun.OrderAsc, OrderBy: "name", Label: "Name (A-Z)", }, { Order: bun.OrderDesc, OrderBy: "name", Label: "Name (Z-A)", }, } }}
Seasons if canAddSeason { }
@sort.Dropdown(seasons.PageOpts, sortOpts)
if len(seasons.Items) == 0 {

No seasons found

} else { @pagination.Pagination(seasons.PageOpts, seasons.Total) }
} func formatDate(t time.Time) string { return t.Format("02/01/2006") // DD/MM/YYYY }