replaced SubRender mechanism with standard Jet include directives

This commit is contained in:
2026-01-17 23:01:46 -07:00
parent 4814947852
commit e77ec0d58b
5 changed files with 28 additions and 63 deletions
-50
View File
@@ -11,10 +11,8 @@
package ui package ui
import ( import (
"bytes"
"context" "context"
"fmt" "fmt"
"maps"
"mime/multipart" "mime/multipart"
"net/http" "net/http"
"strconv" "strconv"
@@ -62,8 +60,6 @@ type AmContext interface {
RemoteIP() string RemoteIP() string
ReplaceUser(*database.User) ReplaceUser(*database.User)
SaveSession() error SaveSession() error
SubRender(string) ([]byte, error)
SubRender2(string, map[string]any) ([]byte, error)
SetCommunityContext(string) error SetCommunityContext(string) error
SetLeftMenu(string) SetLeftMenu(string)
SetLoginCookie(string) SetLoginCookie(string)
@@ -321,52 +317,6 @@ func (c *amContext) SaveSession() error {
return c.session.Save(c.echoContext.Request(), c.echoContext.Response()) return c.session.Save(c.echoContext.Request(), c.echoContext.Response())
} }
/* SubRender renders a subtemplate to the output.
* Parameters:
* name = The name of the template to be rendered.
* Returns:
* Byte array with the rendered data to be output.
* Standard Go error status.
*/
func (c *amContext) SubRender(name string) ([]byte, error) {
view, err := views.GetTemplate(name)
if err != nil {
log.Errorf("unable to load template \"%s\": %v", name, err)
return nil, err
}
buf := new(bytes.Buffer)
if err = view.Execute(buf, c.VarMap(), c); err != nil {
log.Errorf("template \"%s\" failed subrender exec: %v", name, err)
}
return buf.Bytes(), err
}
/* SubRender2 renders a subtemplate to the output, with extra variables to be set.
* Parameters:
* name = The name of the template to be rendered.
* vals = Additional variable values to be set.
* Returns:
* Byte array with the rendered data to be output.
* Standard Go error status.
*/
func (c *amContext) SubRender2(name string, vals map[string]any) ([]byte, error) {
view, err := views.GetTemplate(name)
if err != nil {
log.Errorf("unable to load template \"%s\": %v", name, err)
return nil, err
}
newmap := make(jet.VarMap)
maps.Copy(newmap, c.VarMap())
for k, v := range vals {
newmap.Set(k, v)
}
buf := new(bytes.Buffer)
if err = view.Execute(buf, newmap, c); err != nil {
log.Errorf("template \"%s\" failed subrender exec: %v", name, err)
}
return buf.Bytes(), err
}
/* SetCommunityContext establishes the community context from a (ID or alias) parameter. /* SetCommunityContext establishes the community context from a (ID or alias) parameter.
* Parameters: * Parameters:
* param - String parameter selecting the community. * param - String parameter selecting the community.
+3 -3
View File
@@ -90,16 +90,16 @@
{{ end }} {{ end }}
{{ .SetScratch("__menu", m) }} {{ .SetScratch("__menu", m) }}
{{ if m.Tag == "community" }} {{ if m.Tag == "community" }}
{{ .SubRender("menu_left_comm.jet") | raw }} {{ include "menu_left_comm.jet" }}
{{ else }} {{ else }}
{{ .SubRender("menu_left.jet") | raw }} {{ include "menu_left.jet" }}
{{ end }} {{ end }}
{{ end }} {{ end }}
</div> </div>
<!-- MAIN CONTENT --> <!-- MAIN CONTENT -->
<div class="flex-1 bg-white"> <div class="flex-1 bg-white">
{{ .SubRender(amsterdam_innerPage) | raw }} {{ include amsterdam_innerPage }}
</div> </div>
</div> </div>
+11 -4
View File
@@ -99,11 +99,18 @@
<!-- Messages --> <!-- Messages -->
<div class="space-y-6 mb-8"> <div class="space-y-6 mb-8">
{{ if advancedControls }}<div class="flex gap-4">{{ end }} {{ if advancedControls }}<div class="flex gap-4">{{ end }}
{{ m := map("foo", "bar") }} {{ post_cur := nil }}
{{ post_userName := "" }}
{{ post_text := "" }}
{{ post_overrideLine := "" }}
{{ post_overrideLink := "" }}
{{ range i, p := posts }} {{ range i, p := posts }}
{{ m = map("post_cur", p, "post_userName", post_getUserName(p, .), "post_text", post_getText(p, .), {{ post_cur = p }}
"post_overrideLine", post_getOverrideLine(p, .), "post_overrideLink", post_getOverrideLink(p, post_topicPermalink)) }} {{ post_userName = post_getUserName(p, .) }}
{{ .SubRender2("singlepost.jet", m) | raw }} {{ post_text = post_getText(p, .) }}
{{ post_overrideLine = post_getOverrideLine(p, .) }}
{{ post_overrideLink = post_getOverrideLink(p, post_topicPermalink) }}
{{ include "singlepost.jet" }}
{{ if advancedControls }} {{ if advancedControls }}
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
{{ if canHide }} {{ if canHide }}
+11 -2
View File
@@ -19,11 +19,20 @@
<!-- Messages --> <!-- Messages -->
<div class="space-y-6 mb-8"> <div class="space-y-6 mb-8">
{{ m := map("foo", "bar") }} {{ post_cur := nil }}
{{ post_userName := "" }}
{{ post_text := "" }}
{{ post_overrideLine := "" }}
{{ post_overrideLink := "" }}
{{ range i, p := posts }} {{ range i, p := posts }}
{{ m = map("post_cur", p, "post_userName", post_getUserName(p, .), "post_text", post_getText(p, .), {{ m = map("post_cur", p, "post_userName", post_getUserName(p, .), "post_text", post_getText(p, .),
"post_overrideLine", post_getOverrideLine(p, .), "post_overrideLink", post_getOverrideLink(p, post_topicPermalink)) }} "post_overrideLine", post_getOverrideLine(p, .), "post_overrideLink", post_getOverrideLink(p, post_topicPermalink)) }}
{{ .SubRender2("singlepost.jet", m) | raw }} {{ post_cur = p }}
{{ post_userName = post_getUserName(p, .) }}
{{ post_text = post_getText(p, .) }}
{{ post_overrideLine = post_getOverrideLine(p, .) }}
{{ post_overrideLink = post_getOverrideLink(p, post_topicPermalink) }}
{{ include "singlepost.jet" }}
{{ end }} {{ end }}
</div> </div>
+3 -4
View File
@@ -49,10 +49,9 @@
<!-- RIGHT SIDEBAR --> <!-- RIGHT SIDEBAR -->
<div class="w-80 p-4"> <div class="w-80 p-4">
{{ ctxt := . }} {{ range i, s := sideboxes }}
{{ range sideboxes }} {{ .SetScratch("__sidebox", s) }}
{{ ctxt.SetScratch("__sidebox", .) }} {{ include s.TemplateName }}
{{ ctxt.SubRender(.TemplateName) | raw }}
{{ end }} {{ end }}
{{ if !.CurrentUser().IsAnon }} {{ if !.CurrentUser().IsAnon }}