diff --git a/backend/templates/app_layout.templ b/backend/templates/app_layout.templ index de5d2eb..d13397b 100644 --- a/backend/templates/app_layout.templ +++ b/backend/templates/app_layout.templ @@ -180,6 +180,92 @@ templ DashboardSidebar(activePath string, tablos []sqlc.Tablo, user *auth.User, } +// PageHeader renders the full-width top bar with three zones: +// left (breadcrumb), center (search placeholder), right (bell, inbox, avatar dropdown). +// The avatar dropdown uses native HTML details/summary — no Alpine.js (D-06). +templ PageHeader(pageTitle string, breadcrumb []BreadcrumbItem, headerActions templ.Component, user *auth.User, csrfToken string) { + +} + // AppLayout is the authenticated HTML shell for all dashboard pages. // It replaces Layout for all authenticated routes in Phase 15+. // @@ -201,18 +287,20 @@ templ AppLayout(title string, user *auth.User, csrfToken string, activePath stri
@DashboardSidebar(activePath, tablos, user, csrfToken)
- if len(breadcrumb) > 0 { - - } - if headerActions != nil { - @headerActions - } + @PageHeader(pageTitle, breadcrumb, headerActions, user, csrfToken) { children... }
+ }