From 8657bd26bdfb9927f5202860b08070aa7b83e21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Bouzour=C3=A8ne?= Date: Sat, 4 Jan 2025 17:27:14 +0100 Subject: [PATCH] Footer with souce code link & generation time --- helpers/templates.go | 19 +++++++++++++++++++ main.go | 3 +++ middlewares/templates.go | 3 +++ static/main.css | 4 ++++ views/layouts/main.html | 39 ++++++++++++++++++++++++++++++++------- 5 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 helpers/templates.go diff --git a/helpers/templates.go b/helpers/templates.go new file mode 100644 index 0000000..0ac3512 --- /dev/null +++ b/helpers/templates.go @@ -0,0 +1,19 @@ +package helpers + +import ( + "time" + + "github.com/flosch/pongo2/v6" +) + +func TemplTimeDiff(in *pongo2.Value, param *pongo2.Value) (*pongo2.Value, *pongo2.Error) { + if !in.IsTime() { + return pongo2.AsSafeValue("invalid time"), nil + } + + start := in.Time() + now := time.Now() + diff := now.Sub(start) + + return pongo2.AsSafeValue(diff.Milliseconds()), nil +} diff --git a/main.go b/main.go index e05e658..4f2c80c 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "git.readonly.ch/bouzoure/popvaud-people/controllers" "git.readonly.ch/bouzoure/popvaud-people/helpers" "git.readonly.ch/bouzoure/popvaud-people/middlewares" + "github.com/flosch/pongo2/v6" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/filesystem" loggerMiddleware "github.com/gofiber/fiber/v2/middleware/logger" @@ -67,6 +68,8 @@ func main() { ) } + pongo2.RegisterFilter("time_diff", helpers.TemplTimeDiff) + app := fiber.New(fiber.Config{ Views: engine, }) diff --git a/middlewares/templates.go b/middlewares/templates.go index 01c1805..cdac356 100644 --- a/middlewares/templates.go +++ b/middlewares/templates.go @@ -2,6 +2,7 @@ package middlewares import ( "fmt" + "time" "git.readonly.ch/bouzoure/popvaud-people/helpers" "git.readonly.ch/bouzoure/popvaud-people/models" @@ -15,10 +16,12 @@ type TemplatesGlobals struct { UserEmail string UserFullname string UserIsAdmin bool + TimeStart time.Time } func TemplatesMiddleware(c *fiber.Ctx) error { globals := TemplatesGlobals{} + globals.TimeStart = c.Context().Time() sess, err := helpers.GetSessionStore(c) if err != nil { diff --git a/static/main.css b/static/main.css index d24797e..ef42208 100644 --- a/static/main.css +++ b/static/main.css @@ -31,4 +31,8 @@ a { .item-click { cursor: pointer; +} + +.text-bold { + font-weight: bold; } \ No newline at end of file diff --git a/views/layouts/main.html b/views/layouts/main.html index 19587da..9293e51 100644 --- a/views/layouts/main.html +++ b/views/layouts/main.html @@ -1,5 +1,5 @@ - + {% include "partials/easter_egg.html" %} @@ -18,14 +18,39 @@ {% block stylesheet %}{% endblock %} - - {% block header %} - {% include "partials/header.html" %} - {% endblock %} + +
+ {% block body %} + {% block header %} + {% include "partials/header.html" %} + {% endblock %} - {% block main %} - + {% block main %}{% endblock %} {% endblock %} +
+ +