From 12f7cf21265d7d6c9d1d60e2ae63753846a58c4b Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Thu, 26 Jan 2023 22:25:50 +0100 Subject: Wrap template data to always pass the User --- main.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'main.go') diff --git a/main.go b/main.go index 863673a..8992fd2 100644 --- a/main.go +++ b/main.go @@ -96,7 +96,15 @@ func decrypt(b []byte) ([]byte, error) { func serveTemplate(w http.ResponseWriter, r *http.Request, data interface{}, view ...string) { var nav string = "templates/nav.html" + d := struct { + Data interface{} + User *User + } { + data, + nil, + } if u, err := checkSession(w, r); u != nil && err == nil { + d.User = u nav = "templates/nav_logged.html" } views := []string {"templates/base.html", nav} @@ -105,7 +113,7 @@ func serveTemplate(w http.ResponseWriter, r *http.Request, data interface{}, vie if err != nil { log.Fatal(err) } - if err := t.Execute(w, data); err != nil { + if err := t.Execute(w, d); err != nil { log.Fatal(err) } } -- cgit v1.2.3