From 5e26ebc96bd41f9d232573d873cb6cb55f0050c4 Mon Sep 17 00:00:00 2001 From: Alexander Kavon Date: Tue, 28 Nov 2023 21:27:51 -0500 Subject: ui render templates simplify --- src/server/ui.go | 15 +++++++++++---- src/user/routes.go | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/server/ui.go b/src/server/ui.go index a765d97..7d59168 100644 --- a/src/server/ui.go +++ b/src/server/ui.go @@ -24,7 +24,7 @@ func (ui *Ui) CompilePages(uipath string) { if err != nil { log.Fatal(err) } - ui.pages["core/messages"] = baseTmpl + ui.pages["core"] = baseTmpl pagesDir := filepath.Join(uipath, "pages") tmplGlob := filepath.Join(pagesDir, "**/*.tmpl.html") @@ -49,11 +49,18 @@ func (ui *Ui) CompilePages(uipath string) { func (ui *Ui) Render(w http.ResponseWriter, pageName string, data interface{}) { templateName := "base" - if pageName == "core/messages" { - templateName = "messages" + // if the pageName has more than 1 `/` then it specifies the name of a template to target + slashCount := strings.Count(pageName, "/") + if slashCount > 1 { + splitName := strings.Split(pageName, "/") + templateName = splitName[0] } - p := ui.pages[pageName] + ui.RenderTemplate(w, pageName, templateName, data) +} + +func (ui *Ui) RenderTemplate(w http.ResponseWriter, pageName, templateName string, data interface{}) { + p := ui.pages[pageName] err := p.ExecuteTemplate(w, templateName, data) if err != nil { log.Fatal(err) diff --git a/src/user/routes.go b/src/user/routes.go index 09c53b2..f826822 100644 --- a/src/user/routes.go +++ b/src/user/routes.go @@ -51,7 +51,7 @@ func Store(s *server.Server) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { r.ParseForm() fmt.Println(r.PostForm) - s.Ui.Render(w, "core/messages", &struct{ Message string }{Message: "Congrats"}) + s.Ui.RenderTemplate(w, "core", "messages", &struct{ Message string }{Message: "Congrats"}) } } -- cgit v1.2.3