From 8d37d1efcc43e324a05cc80775cd39e0c32b01b4 Mon Sep 17 00:00:00 2001 From: tobi Date: Thu, 20 Feb 2025 14:39:29 +0100 Subject: [PATCH] [feature] Add page-specific class per template --- internal/api/util/template.go | 8 ++++++++ internal/web/confirmemail.go | 4 ++-- internal/web/login-info.go | 2 +- web/template/{confirm_email.tmpl => confirm-email.tmpl} | 0 .../{confirmed_email.tmpl => confirmed-email.tmpl} | 0 web/template/{login_info.tmpl => login-info.tmpl} | 0 web/template/page.tmpl | 4 +--- 7 files changed, 12 insertions(+), 6 deletions(-) rename web/template/{confirm_email.tmpl => confirm-email.tmpl} (100%) rename web/template/{confirmed_email.tmpl => confirmed-email.tmpl} (100%) rename web/template/{login_info.tmpl => login-info.tmpl} (100%) diff --git a/internal/api/util/template.go b/internal/api/util/template.go index 990874028..d9db1f3c5 100644 --- a/internal/api/util/template.go +++ b/internal/api/util/template.go @@ -236,6 +236,14 @@ func templatePage( obj map[string]any, ) { const pageTmpl = "page.tmpl" + + // Render given template inside the page. obj["pageContent"] = template + + // Inject specific page class by replacing + // ".tmpl" with "-page", so "index.tmpl" for + // example gets class "page index-page". + obj["pageClass"] = template[0:len(template)-5] + "-page" + c.HTML(code, pageTmpl, obj) } diff --git a/internal/web/confirmemail.go b/internal/web/confirmemail.go index e512761f4..323de6bb2 100644 --- a/internal/web/confirmemail.go +++ b/internal/web/confirmemail.go @@ -77,7 +77,7 @@ func (m *Module) confirmEmailGETHandler(c *gin.Context) { // Serve page where user can click button // to POST confirmation to same endpoint. page := apiutil.WebPage{ - Template: "confirm_email.tmpl", + Template: "confirm-email.tmpl", Instance: instance, Extra: map[string]any{ "email": email, @@ -127,7 +127,7 @@ func (m *Module) confirmEmailPOSTHandler(c *gin.Context) { // Serve page informing user that their // email address is now confirmed. page := apiutil.WebPage{ - Template: "confirmed_email.tmpl", + Template: "confirmed-email.tmpl", Instance: instance, Extra: map[string]any{ "email": user.Email, diff --git a/internal/web/login-info.go b/internal/web/login-info.go index bd52f72ef..9aca768b6 100644 --- a/internal/web/login-info.go +++ b/internal/web/login-info.go @@ -50,7 +50,7 @@ func (m *Module) loginGETHandler(c *gin.Context) { } page := apiutil.WebPage{ - Template: "login_info.tmpl", + Template: "login-info.tmpl", Instance: instance, OGMeta: apiutil.OGBase(instance), Stylesheets: []string{cssAbout, cssLoginInfo}, diff --git a/web/template/confirm_email.tmpl b/web/template/confirm-email.tmpl similarity index 100% rename from web/template/confirm_email.tmpl rename to web/template/confirm-email.tmpl diff --git a/web/template/confirmed_email.tmpl b/web/template/confirmed-email.tmpl similarity index 100% rename from web/template/confirmed_email.tmpl rename to web/template/confirmed-email.tmpl diff --git a/web/template/login_info.tmpl b/web/template/login-info.tmpl similarity index 100% rename from web/template/login_info.tmpl rename to web/template/login-info.tmpl diff --git a/web/template/page.tmpl b/web/template/page.tmpl index fad0fc3b9..e81c90aae 100644 --- a/web/template/page.tmpl +++ b/web/template/page.tmpl @@ -71,9 +71,8 @@ image/webp {{- end }} {{- template "instanceTitle" . -}} - + {{- include "login_button.tmpl" . | indent 3 }} -
@@ -83,6 +82,5 @@ image/webp -
\ No newline at end of file