package templates import ( _ "embed" "html/template" "os" "sync" "github.com/rs/zerolog/log" ) //go:embed form.html.tpl var form string //go:embed success.html.tpl var success string var funcMap = template.FuncMap{ "errStr": func(err error) string { if err != nil { return err.Error() } return "" }, } var GetLoginForm = sync.OnceValue[*template.Template](func() *template.Template { tmpl, err := template.New("loginForm").Funcs(funcMap).Parse(form) if err != nil { log.Err(err).Msg("unable to parse login form") os.Exit(1) } return tmpl }) var GetLoginSuccess = sync.OnceValue[*template.Template](func() *template.Template { tmpl, err := template.New("loginSuccess").Parse(success) if err != nil { log.Err(err).Msg("unable to parse login success") os.Exit(1) } return tmpl })