30 lines
739 B
Go
30 lines
739 B
Go
package elinps
|
|
|
|
import (
|
|
"html/template"
|
|
"log/slog"
|
|
"net/http"
|
|
)
|
|
|
|
type TemplateRenderer struct {
|
|
t *template.Template
|
|
}
|
|
|
|
func NewTemplateRenderer(t *template.Template) *TemplateRenderer { return &TemplateRenderer{t: t} }
|
|
|
|
func (r *TemplateRenderer) Render(w http.ResponseWriter, name string, data any) {
|
|
if err := r.t.ExecuteTemplate(w, name, data); err != nil {
|
|
// Não expomos detalhes do erro para o usuário (pode conter paths/etc).
|
|
// Mas registramos para depuração.
|
|
slog.Error("erro ao renderizar template", "template", name, "err", err)
|
|
w.WriteHeader(http.StatusInternalServerError)
|
|
w.Write([]byte("erro ao renderizar"))
|
|
return
|
|
}
|
|
}
|
|
|
|
type FormPageData struct {
|
|
Produto string
|
|
ID string
|
|
Reg Registro
|
|
}
|