personal-site/internal/ui/layouts/primary.go
2026-05-20 16:09:54 +01:00

42 lines
1.1 KiB
Go

package layouts
import (
"github.com/camzawacki/personal-site/internal/routenames"
"github.com/camzawacki/personal-site/internal/ui"
. "github.com/camzawacki/personal-site/internal/ui/components"
. "maragu.dev/gomponents"
. "maragu.dev/gomponents/html"
)
func Primary(r *ui.Request, content Node) Node {
return Doctype(
HTML(
Lang("en"),
Data("theme", "light"),
Head(
Metatags(r),
CSS(),
JS(),
),
Body(
Nav(
Class("navbar bg-base-100 border-b border-gray-200 p-5 justify-center"),
Div(
Class("flex items-center"),
NavLink(r, "Cam Zalewaki", routenames.Home, false),
Span(Class("divider divider-horizontal")),
NavLink(r, "Writing", routenames.About, true),
Span(Class("divider divider-horizontal")),
NavLink(r, "Projects", routenames.About, true),
Span(Class("divider divider-horizontal")),
NavLink(r, "Misc", routenames.About, true),
Span(Class("divider divider-horizontal")),
NavLink(r, "About", routenames.About, true),
),
),
content,
HtmxListeners(r),
),
),
)
}