goffeetabler/controllers/tablertypes.go
2026-05-01 18:15:40 -05:00

40 lines
1.2 KiB
Go

package controllers
// TablerMenuItem represents a single item in the navbar menu
type TablerMenuItem struct {
Title string `json:"title"`
TitleLong string `json:"title-long,omitempty"`
Icon string `json:"icon,omitempty"`
URL string `json:"url,omitempty"`
Badge string `json:"badge,omitempty"`
Color string `json:"color,omitempty"`
Active bool `json:"active,omitempty"`
Disabled bool `json:"disabled,omitempty"`
Columns int `json:"columns,omitempty"`
Children []*TablerMenuItem `json:"children,omitempty"`
}
// TablerMenu is a map of menu sections keyed by identifier
type TablerMenu map[string]*TablerMenuItem
// TablerPageData holds the common data for all tabler pages
type TablerPageData struct {
PageTitle string
PageDescription string
BodyClass string
Content interface{}
// Default layout fields
Sidebar bool
ShowTopbar bool
WrapperFull bool
ContainerCentered bool
ContainerClass string
// Page header
PageHeader string
PagePretitle string
// Navbar fields
UserName string
UserRole string
NavbarMenu TablerMenu
CurrentPage string
}