+16
-8
appview/pages/pages.go
+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 {