diff --git a/CHANGELOG.md b/CHANGELOG.md index 55021e4..3b94714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version ## [Unreleased] +### Changed + +- panel: **Settings** shows panel credentials and DMARC aggregate reports side + by side for global administrators (the same `.split` layout as a delivery's + message and history). Domain-scoped users keep the single narrow card. + ## [1.2.0] - 2026-08-11 The second MINOR after 1.0.0: domain administrators with per-domain scope, a diff --git a/internal/web/view/templates/account.html b/internal/web/view/templates/account.html index d608a75..f0471d1 100644 --- a/internal/web/view/templates/account.html +++ b/internal/web/view/templates/account.html @@ -1,14 +1,21 @@ +{{/* Wide enough for credentials and DMARC settings side by side (see .split + in panel.css, as on a delivery's page). */}} +{{define "wide"}}wide{{end}} + {{define "content"}}

Settings

{{if .Flash}}
{{.Flash}}
{{end}} +{{if .Error}}

{{.Error}}

{{end}} + +{{if .ShowDMARC}} +
+
+
+

Panel credentials

+

These are the credentials for this control panel only. + Applications keep their own logins and passwords, which are not affected.

-
-

Panel credentials

-

These are the credentials for this control panel only. - Applications keep their own logins and passwords, which are not affected.

- {{if .Error}}

{{.Error}}

{{end}} - @@ -22,9 +29,10 @@ +
- {{if .ShowDMARC}} -

DMARC aggregate reports

+
+

DMARC aggregate reports

Optional default rua= address for every sending domain (can be overridden per domain). Use a mailbox on a domain that receives inbound mail. SelfPost is send-only today; a future release will @@ -59,12 +67,39 @@ {{end}}{{end}} {{end}} {{end}} - {{end}} +

+
+ + +

Leave both new-password fields empty to change the username +or DMARC address only. Changing the password signs out every other session; +this one stays signed in.

+ +{{else}} +
+

Panel credentials

+

These are the credentials for this control panel only. + Applications keep their own logins and passwords, which are not affected.

+
+ + + + + + + + + + +

Leave both new-password fields empty to change the username - {{if .ShowDMARC}}or DMARC address {{end}}only. Changing the password signs out every other session; + only. Changing the password signs out every other session; this one stays signed in.

{{end}} +{{end}} diff --git a/internal/web/view/templates_test.go b/internal/web/view/templates_test.go index 854dae4..837c2ed 100644 --- a/internal/web/view/templates_test.go +++ b/internal/web/view/templates_test.go @@ -263,7 +263,7 @@ func TestOnlyThePagesMadeOfDataDeclareThemselvesWide(t *testing.T) { if err != nil { t.Fatalf("New: %v", err) } - wide := map[string]bool{"deliveries": true, "delivery": true, "mail_queue": true, "system_log": true} + wide := map[string]bool{"account": true, "deliveries": true, "delivery": true, "mail_queue": true, "system_log": true} for name, page := range engine.Pages() { var buf bytes.Buffer if err := page.ExecuteTemplate(&buf, "wide", nil); err != nil {