diff options
| author | Alexander Kavon <hawk@alexkavon.com> | 2023-11-28 21:27:51 -0500 |
|---|---|---|
| committer | Alexander Kavon <hawk@alexkavon.com> | 2023-11-28 21:27:51 -0500 |
| commit | 5e26ebc96bd41f9d232573d873cb6cb55f0050c4 (patch) | |
| tree | 6af9987680b4db63de13f189e87378bfc15ef690 | |
| parent | c03ad4292cebf9661157a4fbec55d720d9aede93 (diff) | |
ui render templates simplify
| -rw-r--r-- | src/server/ui.go | 15 | ||||
| -rw-r--r-- | 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"}) } } |
