aboutsummaryrefslogtreecommitdiff
path: root/renderer.go
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2020-05-13 10:46:35 -0400
committerSimon Ser <contact@emersion.fr>2020-05-13 17:00:47 +0200
commit3d1f278fae716b37fa6a4b8bdf52d21dba371cc5 (patch)
treeea5080e7bd7fd6ef0710e31b8350516369a58d53 /renderer.go
parent1cf95af41ea24ab76cba8a0761d349b65c08c294 (diff)
downloadalps-3d1f278fae716b37fa6a4b8bdf52d21dba371cc5.tar.gz
alps-3d1f278fae716b37fa6a4b8bdf52d21dba371cc5.zip
Use context-appropriate title for mbox/msg view
Diffstat (limited to 'renderer.go')
-rw-r--r--renderer.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/renderer.go b/renderer.go
index 3379233..a6b4118 100644
--- a/renderer.go
+++ b/renderer.go
@@ -17,13 +17,15 @@ const themesDir = "themes"
// GlobalRenderData contains data available in all templates.
type GlobalRenderData struct {
Path []string
- URL *url.URL
+ URL *url.URL
LoggedIn bool
// if logged in
Username string
+ Title string
+
// additional plugin-specific data
Extra map[string]interface{}
}
@@ -67,22 +69,29 @@ type RenderData interface {
// // other fields...
// }
func NewBaseRenderData(ctx *Context) *BaseRenderData {
- global := GlobalRenderData{Extra: make(map[string]interface{})}
+ global := GlobalRenderData{
+ Extra: make(map[string]interface{}),
+ Path: strings.Split(ctx.Request().URL.Path, "/")[1:],
+ Title: "Webmail",
+ URL: ctx.Request().URL,
+ }
if ctx.Session != nil {
global.LoggedIn = true
global.Username = ctx.Session.username
}
- global.URL = ctx.Request().URL
- global.Path = strings.Split(global.URL.Path, "/")[1:]
-
return &BaseRenderData{
GlobalData: global,
Extra: make(map[string]interface{}),
}
}
+func (brd *BaseRenderData) WithTitle(title string) *BaseRenderData {
+ brd.GlobalData.Title = title
+ return brd
+}
+
type renderer struct {
logger echo.Logger
defaultTheme string