53 lines
1.1 KiB
Go

package controllers
import (
"git.kealoha.me/lks/lenslocked/templates"
"git.kealoha.me/lks/lenslocked/views"
"net/http"
"strings"
)
type Template interface {
Execute(w http.ResponseWriter, r *http.Request, data interface{})
}
func StaticController(templatePath ...string) http.HandlerFunc {
tpl := views.Must(views.FromFS(templates.FS, templatePath...))
var testWriter strings.Builder
err := tpl.ExecuteWriter(&testWriter, nil)
if err != nil {
panic(err)
}
return func(w http.ResponseWriter, r *http.Request) { tpl.Execute(w, r, nil) }
}
func FAQ(templatePath ...string) http.HandlerFunc {
questions := []struct {
Question string
Answer string
}{
{
Question: "Is this a real website?",
Answer: "No.",
},
{
Question: "I Can Has Cheezburger?",
Answer: "No.",
},
}
tpl := views.Must(views.FromFS(templates.FS, templatePath...))
var testWriter strings.Builder
err := tpl.ExecuteWriter(&testWriter, nil)
if err != nil {
panic(err)
}
return func(w http.ResponseWriter, r *http.Request) {
tpl.Execute(w, r, questions)
}
}