fixes and improvements in broker and render

This commit is contained in:
2025-05-23 14:31:23 +02:00
parent ba604bb8b4
commit 2fea2e6ac5
5 changed files with 116 additions and 94 deletions
+6 -7
View File
@@ -34,10 +34,10 @@ func (a *App) JSON(w http.ResponseWriter, code int, v any) {
json.NewEncoder(w).Encode(v)
}
func (a *App) HTML(w http.ResponseWriter, code int, name string, td *TemplateData) {
func (a *App) HTML(w http.ResponseWriter, code int, layout, page string, td *TemplateData) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
w.WriteHeader(code)
err := a.Templates.Template(w, name, td)
err := a.Templates.Template(w, layout, page, td)
if err != nil {
slog.Error("error rendering template", "error", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -45,12 +45,11 @@ func (a *App) HTML(w http.ResponseWriter, code int, name string, td *TemplateDat
}
}
func (a *App) RenderHTML(name string, td *TemplateData) (string, error) {
sw := newStringWriter()
err := a.Templates.Template(sw, name, td)
func (a *App) RenderComponent(name string, td *TemplateData) (string, error) {
result, err := a.Templates.RenderComponent(name, td)
if err != nil {
slog.Error("error rendering template", "error", err)
slog.Error("error rendering component", "component", name, "error", err)
return "", err
}
return sw.builder.String(), nil
return result, nil
}