[feature] Add page-specific class per template

This commit is contained in:
tobi 2025-02-20 14:39:29 +01:00
commit 8d37d1efcc
7 changed files with 12 additions and 6 deletions

View file

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

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 }}{{- 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>