From 46e209954285a08ecd172662056d3c2426abf610 Mon Sep 17 00:00:00 2001 From: etalon Date: Sat, 13 Jun 2026 12:31:23 +0200 Subject: [PATCH] fix: apply the BrandingName setting to the masthead and page title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The brandingName admin setting was saved but never used — layout/login/register hardcoded "Bounty Board". render() now passes the configured brand into every page, and the top-nav masthead, , and login/register headers use it. (The "Bounty Board" board-feature labels are left as-is.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --- internal/http/web.go | 7 +++++++ web/templates/layout.html | 4 ++-- web/templates/login.html | 2 +- web/templates/register.html | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/internal/http/web.go b/internal/http/web.go index e43a3ec..0f720bd 100644 --- a/internal/http/web.go +++ b/internal/http/web.go @@ -23,6 +23,7 @@ type pageData struct { User *domain.User DefaultTheme string NavLayout string + Brand string Narrow bool OIDCEnabled bool Error string @@ -88,6 +89,12 @@ func (s *Server) render(w http.ResponseWriter, r *http.Request, page string, dat data.NavLayout = "top" } } + if data.Brand == "" { + data.Brand = "Bounty Board" + if st, err := s.store.GetSettings(r.Context()); err == nil && st.BrandingName != "" { + data.Brand = st.BrandingName + } + } w.Header().Set("Content-Type", "text/html; charset=utf-8") if err := t.ExecuteTemplate(w, "layout", data); err != nil { s.log.Error("execute template", "page", page, "err", err) diff --git a/web/templates/layout.html b/web/templates/layout.html index 42b0a6e..e0d229b 100644 --- a/web/templates/layout.html +++ b/web/templates/layout.html @@ -3,13 +3,13 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>{{.Title}} · Bounty Board + {{.Title}} · {{.Brand}}