headscale/hscontrol/templates/general.go
Amha Mersha 24e7851a40
Changed all the html into go using go-elem (#2161)
* Changed all the HTML into go using go-elem

            Created templates package in ./hscontrol/templates.
            Moved the registerWebAPITemplate into the templates package as a function to be called.

            Replaced the apple and windows html files with go-elem.

* update flake

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>

---------

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
Co-authored-by: Kristoffer Dalby <kristoffer@tailscale.com>
2024-10-04 11:39:24 +00:00

56 lines
1.3 KiB
Go

package templates
import (
"github.com/chasefleming/elem-go"
"github.com/chasefleming/elem-go/attrs"
"github.com/chasefleming/elem-go/styles"
)
var bodyStyle = styles.Props{
styles.Margin: "40px auto",
styles.MaxWidth: "800px",
styles.LineHeight: "1.5",
styles.FontSize: "16px",
styles.Color: "#444",
styles.Padding: "0 10px",
styles.FontFamily: "Sans-serif",
}
var headerStyle = styles.Props{
styles.LineHeight: "1.2",
}
func headerOne(text string) *elem.Element {
return elem.H1(attrs.Props{attrs.Style: headerStyle.ToInline()}, elem.Text(text))
}
func headerTwo(text string) *elem.Element {
return elem.H2(attrs.Props{attrs.Style: headerStyle.ToInline()}, elem.Text(text))
}
func headerThree(text string) *elem.Element {
return elem.H3(attrs.Props{attrs.Style: headerStyle.ToInline()}, elem.Text(text))
}
func HtmlStructure(head, body *elem.Element) *elem.Element {
return elem.Html(nil,
elem.Head(
attrs.Props{
attrs.Lang: "en",
},
elem.Meta(attrs.Props{
attrs.Charset: "UTF-8",
}),
elem.Meta(attrs.Props{
attrs.HTTPequiv: "X-UA-Compatible",
attrs.Content: "IE=edge",
}),
elem.Meta(attrs.Props{
attrs.Name: "viewport",
attrs.Content: "width=device-width, initial-scale=1.0",
}),
head,
),
body,
)
}