package components import ( "fmt" "tankstopp/internal/models" ) templ BaseLayout(title string, user *models.User, username string) { { title } - TankStopp
@Navbar(user, username)
{ children... } @Footer()
} templ Navbar(user *models.User, username string) { } templ NavItem(href, icon, title string, active bool) {
  • @Icon(icon, 24) { title }
  • } templ UserDropdown(user *models.User, username string) { } templ Footer() { } templ PageHeader(pretitle, title string) { } templ Alert(alertType, message string) { } templ Card(title string, icon string) {
    if title != "" {

    if icon != "" { @Icon(icon, 24) } { title }

    }
    { children... }
    } templ EmptyState(icon, title, subtitle, actionText, actionHref string) {
    @Icon(icon, 128)

    { title }

    { subtitle }

    if actionText != "" && actionHref != "" {
    @Icon("plus", 24) { actionText }
    }
    } templ LoadingSpinner(size string) {
    Loading...
    } templ Badge(text, variant string) { { text } } templ ProgressBar(percentage int, variant string) {
    { fmt.Sprintf("%d%%", percentage) }
    } templ Modal(id, title string) { } templ Tooltip(text string) { { children... } } templ Breadcrumb(items []BreadcrumbItem) { } type BreadcrumbItem struct { Title string Href string } templ Tabs(activeTab string, tabs []TabItem) { } type TabItem struct { ID string Title string Href string Icon string } templ StatCard(title, value, subtitle, icon, variant string) {
    { title }
    { value }
    if subtitle != "" {
    { subtitle }
    }
    @Icon(icon, 32)
    } templ ActionButton(href, text, icon, variant string) { if icon != "" { @Icon(icon, 24) } { text } } templ TableResponsive() {
    { children... }
    } templ Pagination(currentPage, totalPages int, baseURL string) { if totalPages > 1 { } } templ ConfirmDialog(id, title, message, confirmText, cancelText string) { } templ ListGroup() {
    { children... }
    } templ ListGroupItem(active bool) {
    { children... }
    } templ ButtonToolbar() { } templ StatusIndicator(status, text string) { { text } }