From fca0461ca45eaa432581cd1b33e714df5dbc557b Mon Sep 17 00:00:00 2001 From: logikonline Date: Mon, 16 Mar 2026 00:31:13 -0400 Subject: [PATCH] refactor(ui): fix nested forms in pages image upload UI Move upload/delete forms outside main settings form to avoid invalid nested form HTML. Use form attribute on buttons and inputs to associate with hidden forms. Fixes HTML validation errors and potential browser quirks. Also replaces hardcoded border color with CSS variable for theme consistency. Affects brand logo/favicon and hero image upload sections. --- templates/repo/settings/pages_brand.tmpl | 57 ++++++++++++++---------- templates/repo/settings/pages_hero.tmpl | 27 ++++++----- 2 files changed, 48 insertions(+), 36 deletions(-) diff --git a/templates/repo/settings/pages_brand.tmpl b/templates/repo/settings/pages_brand.tmpl index b74091e896..9b39995475 100644 --- a/templates/repo/settings/pages_brand.tmpl +++ b/templates/repo/settings/pages_brand.tmpl @@ -11,29 +11,26 @@

{{ctx.Locale.Tr "repo.settings.pages.brand_name_help"}}

+
{{ctx.Locale.Tr "repo.settings.pages.brand_logo"}}
{{if .Config.Brand.UploadedLogo}}
- +
-
- {{$.CsrfTokenHtml}} - -
+
{{else}}
-
- {{$.CsrfTokenHtml}} - - -
+

{{ctx.Locale.Tr "repo.settings.pages.brand_upload_help"}}

{{ctx.Locale.Tr "repo.settings.pages.brand_or"}}
@@ -43,33 +40,31 @@

{{ctx.Locale.Tr "repo.settings.pages.brand_logo_url_help"}}

{{end}} +
+
{{ctx.Locale.Tr "repo.settings.pages.brand_favicon"}}
{{if .Config.Brand.UploadedFavicon}}
- +
-
- {{$.CsrfTokenHtml}} - -
+
{{else}}
-
- {{$.CsrfTokenHtml}} - - -
+

{{ctx.Locale.Tr "repo.settings.pages.brand_favicon_upload_help"}}

{{ctx.Locale.Tr "repo.settings.pages.brand_or"}}
@@ -79,10 +74,24 @@

{{ctx.Locale.Tr "repo.settings.pages.brand_favicon_url_help"}}

{{end}} +
+ + {{/* Separate forms for upload/delete actions — outside the main form to avoid nesting */}} + {{if .Config.Brand.UploadedLogo}} +
{{.CsrfTokenHtml}}
+ {{else}} +
{{.CsrfTokenHtml}}
+ {{end}} + + {{if .Config.Brand.UploadedFavicon}} +
{{.CsrfTokenHtml}}
+ {{else}} +
{{.CsrfTokenHtml}}
+ {{end}} {{template "repo/settings/layout_footer" .}} diff --git a/templates/repo/settings/pages_hero.tmpl b/templates/repo/settings/pages_hero.tmpl index 8da9bd23da..41d27ed381 100644 --- a/templates/repo/settings/pages_hero.tmpl +++ b/templates/repo/settings/pages_hero.tmpl @@ -15,26 +15,22 @@
{{ctx.Locale.Tr "repo.settings.pages.hero_image"}}
{{if .Config.Hero.UploadedImage}}
- +
-
- {{$.CsrfTokenHtml}} - -
+
{{else}}
-
- {{$.CsrfTokenHtml}} - - -
+

{{ctx.Locale.Tr "repo.settings.pages.hero_upload_help"}}

{{ctx.Locale.Tr "repo.settings.pages.hero_or"}}
@@ -78,6 +74,13 @@ + + {{/* Separate forms for upload/delete actions — outside the main form to avoid nesting */}} + {{if .Config.Hero.UploadedImage}} +
{{.CsrfTokenHtml}}
+ {{else}} +
{{.CsrfTokenHtml}}
+ {{end}} {{template "repo/settings/layout_footer" .}}