[feature] Add page-specific class per template (#3814)

* [feature] Add page-specific class per template

* cheeky bit cheaper
This commit is contained in:
tobi 2025-02-20 15:09:28 +01:00 committed by GitHub
parent a03a35a5d6
commit 8829ee187a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 14 additions and 6 deletions

View file

@ -236,6 +236,16 @@ func templatePage(
obj map[string]any,
) {
const pageTmpl = "page.tmpl"
// Render given template inside the page.
obj["pageContent"] = template
// Inject specific page class by trimming
// ".tmpl" suffix. In the page template
// (see page.tmpl) this will be appended
// with "-page", so "index.tmpl" for example
// ends up with class "page index-page".
obj["pageClass"] = template[:len(template)-5]
c.HTML(code, pageTmpl, obj)
}

View file

@ -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,

View file

@ -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},

View file

@ -71,9 +71,8 @@ image/webp
{{- end }}
<title>{{- template "instanceTitle" . -}}</title>
</head>
<body>
<body class="page{{- if .pageClass }} {{ .pageClass }}-page{{- end -}}">
{{- include "login_button.tmpl" . | indent 3 }}
<div class="page">
<header class="page-header">
{{- include "page_header.tmpl" . | indent 3 }}
</header>
@ -83,6 +82,5 @@ image/webp
<footer class="page-footer">
{{- include "page_footer.tmpl" . | indent 3 }}
</footer>
</div>
</body>
</html>