From d3fb0e59680fab4c5522d8d0e0d9a69e8a3c78a2 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 26 Apr 2025 09:40:36 +0100 Subject: [PATCH] appview: pages: enable fast-reload for executeRepo --- appview/pages/pages.go | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/appview/pages/pages.go b/appview/pages/pages.go index 97684933..3f32e0a7 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -198,29 +198,37 @@ func (p *Pages) loadTemplateFromDisk(name string) error { return nil } -func (p *Pages) execute(name string, w io.Writer, params any) error { +func (p *Pages) executeOrReload(templateName string, w io.Writer, base string, params any) error { // In dev mode, reload the template from disk before executing if p.dev { - if err := p.loadTemplateFromDisk(name); err != nil { - log.Printf("warning: failed to reload template %s from disk: %v", name, err) + if err := p.loadTemplateFromDisk(templateName); err != nil { + log.Printf("warning: failed to reload template %s from disk: %v", templateName, err) // Continue with the existing template } } - tmpl, exists := p.t[name] + tmpl, exists := p.t[templateName] if !exists { - return fmt.Errorf("template not found: %s", name) + return fmt.Errorf("template not found: %s", templateName) + } + + if base == "" { + return tmpl.Execute(w, params) + } else { + return tmpl.ExecuteTemplate(w, base, params) } +} - return tmpl.ExecuteTemplate(w, "layouts/base", params) +func (p *Pages) execute(name string, w io.Writer, params any) error { + return p.executeOrReload(name, w, "layouts/base", params) } func (p *Pages) executePlain(name string, w io.Writer, params any) error { - return p.t[name].Execute(w, params) + return p.executeOrReload(name, w, "", params) } func (p *Pages) executeRepo(name string, w io.Writer, params any) error { - return p.t[name].ExecuteTemplate(w, "layouts/repobase", params) + return p.executeOrReload(name, w, "layouts/repobase", params) } type LoginParams struct { -- 2.51.2