package views
import (
"fmt"
"github.com/sblinch/kdl-go/document"
)
func StringToVibrantHSL(s string) string {
var sum int
for _, char := range s {
sum += int(char)
}
hue := sum % 360
return fmt.Sprintf("hsl(%d, 80%%, 50%%)", hue)
}
templ renderLink(name string, url string) {
{ name }
}
templ renderGroup(name string, nodes []*document.Node) {
{ name }
for _, node := range nodes {
if node.Name.ValueString() == "group" {
@renderGroup(node.Arguments[0].ValueString(), node.Children)
} else if node.Name.String() == "link" {
{{ url, _ := node.Properties.Get("url") }}
@renderLink(node.Arguments[0].ValueString(), url.ValueString())
}
}
}
templ Authenticate() {
@Document("Log In") {
}
}
templ Links(username string, doc *document.Document) {
@Document("Links") {
Howdy, { username }
Log Out
for _, node := range doc.Nodes {
if node.Name.ValueString() == "group" {
@renderGroup(node.Arguments[0].ValueString(), node.Children)
} else if node.Name.ValueString() == "link" {
{{ url, _ := node.Properties.Get("url") }}
@renderLink(node.Arguments[0].ValueString(), url.ValueString())
}
}
}
}