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 /src/server | |
| parent | c03ad4292cebf9661157a4fbec55d720d9aede93 (diff) | |
ui render templates simplify
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/ui.go | 15 |
1 files changed, 11 insertions, 4 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) |
