package page import "git.haelnorr.com/h/oslstats/internal/db" import "git.haelnorr.com/h/oslstats/internal/view/layout" import "git.haelnorr.com/h/oslstats/internal/view/component/pagination" import "git.haelnorr.com/h/oslstats/internal/view/component/sort" import "git.haelnorr.com/h/oslstats/internal/view/component/season" import "fmt" import "time" import "github.com/uptrace/bun" templ SeasonsPage(seasons *db.SeasonList) { @layout.Global("Seasons") {
@SeasonsList(seasons)
} } templ SeasonsList(seasons *db.SeasonList) { {{ 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 Add season
@sort.Dropdown(seasons.PageOpts, sortOpts)
if len(seasons.Seasons) == 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 }