package components
templ Layout(props LayoutProps){
{props.Title}
@Head(props.Head)
@Header(props.Header)
{ children... }
@Footer(props.Footer)
}
type LayoutProps struct {
Title string
Description string
Head HeadProps
Header HeaderProps
Footer FooterProps
}
templ Head(props HeadProps){
for _, link := range props.Links {
}
for _, script := range props.Scripts {
}
}
type HeadProps struct {
Links []Link
Scripts []Script
}
type Link struct {
Href string
Rel string
}
type Script struct {
Src string
Defer bool
}
templ Header(props HeaderProps){
}
type HeaderProps struct {
Routes []NavRoute
}
type NavRoute struct {
Name string
Path string
}
templ Footer(props FooterProps){
}
type FooterProps struct {
}