forked from tangled.org/core
this repo has no description

appview: pages: enable fast-reload for executeRepo

authored by oppi.li and committed by Tangled d3fb0e59 76165f95

Changed files
+16 -8
appview
pages
+16 -8
appview/pages/pages.go
··· 198 198 return nil 199 199 } 200 200 201 - func (p *Pages) execute(name string, w io.Writer, params any) error { 201 + func (p *Pages) executeOrReload(templateName string, w io.Writer, base string, params any) error { 202 202 // In dev mode, reload the template from disk before executing 203 203 if p.dev { 204 - if err := p.loadTemplateFromDisk(name); err != nil { 205 - log.Printf("warning: failed to reload template %s from disk: %v", name, err) 204 + if err := p.loadTemplateFromDisk(templateName); err != nil { 205 + log.Printf("warning: failed to reload template %s from disk: %v", templateName, err) 206 206 // Continue with the existing template 207 207 } 208 208 } 209 209 210 - tmpl, exists := p.t[name] 210 + tmpl, exists := p.t[templateName] 211 211 if !exists { 212 - return fmt.Errorf("template not found: %s", name) 212 + return fmt.Errorf("template not found: %s", templateName) 213 213 } 214 214 215 - return tmpl.ExecuteTemplate(w, "layouts/base", params) 215 + if base == "" { 216 + return tmpl.Execute(w, params) 217 + } else { 218 + return tmpl.ExecuteTemplate(w, base, params) 219 + } 220 + } 221 + 222 + func (p *Pages) execute(name string, w io.Writer, params any) error { 223 + return p.executeOrReload(name, w, "layouts/base", params) 216 224 } 217 225 218 226 func (p *Pages) executePlain(name string, w io.Writer, params any) error { 219 - return p.t[name].Execute(w, params) 227 + return p.executeOrReload(name, w, "", params) 220 228 } 221 229 222 230 func (p *Pages) executeRepo(name string, w io.Writer, params any) error { 223 - return p.t[name].ExecuteTemplate(w, "layouts/repobase", params) 231 + return p.executeOrReload(name, w, "layouts/repobase", params) 224 232 } 225 233 226 234 type LoginParams struct {