feat(panel): rename Account to Settings

The nav entry, page heading, and browser title now read Settings. The
route, template name, and Active key stay `account`, so existing links
and bookmarks keep working.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-09 21:17:11 +03:00
parent 1d726a90db
commit 6860f4523e
5 changed files with 10 additions and 4 deletions
+6
View File
@@ -5,6 +5,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version
## [Unreleased] ## [Unreleased]
### Changed
- The panel's **Account** entry is now called **Settings** — nav link, page
heading, and browser title. The route stays `/account`, so existing links
and bookmarks are unaffected.
### Fixed ### Fixed
- Release CI: retry `docker push` / `imagetools create` on transient GHCR - Release CI: retry `docker push` / `imagetools create` on transient GHCR
+1 -1
View File
@@ -223,7 +223,7 @@ service healthy and will mail be accepted?"
- **Backup** (`/backup`) — download a full-server backup; the same page hosts - **Backup** (`/backup`) — download a full-server backup; the same page hosts
the domain-import form (`POST /domains/import`). See the domain-import form (`POST /domains/import`). See
[Backup, restore, and moving a single domain](#backup-restore-and-moving-a-single-domain). [Backup, restore, and moving a single domain](#backup-restore-and-moving-a-single-domain).
- **Account** (`/account`) — change the administrator username and/or password. - **Settings** (`/account`) — change the administrator username and/or password.
Application SASL logins are separate and are not changed here. Application SASL logins are separate and are not changed here.
**Sessions.** A login survives a container restart: sessions live in SQLite, not **Sessions.** A login survives a container restart: sessions live in SQLite, not
+1 -1
View File
@@ -30,7 +30,7 @@ func (s *Server) handleAccount(w http.ResponseWriter, r *http.Request) {
// field after a rejected submission; the password fields are never repopulated. // field after a rejected submission; the password fields are never repopulated.
func (s *Server) renderAccount(w http.ResponseWriter, r *http.Request, status int, formErr, formUsername string) { func (s *Server) renderAccount(w http.ResponseWriter, r *http.Request, status int, formErr, formUsername string) {
s.render(w, status, "account", map[string]any{ s.render(w, status, "account", map[string]any{
"Title": "SelfPost — account", "Title": "SelfPost — settings",
"User": currentUser(r), "User": currentUser(r),
"Active": "account", "Active": "account",
"FormUsername": formUsername, "FormUsername": formUsername,
+1 -1
View File
@@ -1,5 +1,5 @@
{{define "content"}} {{define "content"}}
<h1>Account</h1> <h1>Settings</h1>
{{if .Flash}}<div class="flash">{{.Flash}}</div>{{end}} {{if .Flash}}<div class="flash">{{.Flash}}</div>{{end}}
+1 -1
View File
@@ -70,7 +70,7 @@
{{template "sections" .}} {{template "sections" .}}
<div class="session"> <div class="session">
<span class="muted">{{.User}}</span> <span class="muted">{{.User}}</span>
{{if eq .Active "account"}}<span aria-current="page">{{template "icon-account"}}Account</span>{{else}}<a href="/account">{{template "icon-account"}}Account</a>{{end}} {{if eq .Active "account"}}<span aria-current="page">{{template "icon-account"}}Settings</span>{{else}}<a href="/account">{{template "icon-account"}}Settings</a>{{end}}
<form class="inline" method="post" action="/logout"> <form class="inline" method="post" action="/logout">
<button type="submit" class="danger">{{template "icon-sign-out"}}Sign out</button> <button type="submit" class="danger">{{template "icon-sign-out"}}Sign out</button>
</form> </form>