{{define "configure-users.html"}} {{template "base" .}} {{end}} {{define "content"}}
{{if .Loading}}
Downloading YANG schema from device… this takes a moment on first login.
{{template "configure-toolbar" .}}
{{else}} {{if .Error}}
{{.Error}}
{{end}}
{{/* ── Users ───────────────────────────────────────────────────────── */}}
Users
{{range $i, $u := .Users}} {{end}} {{/* Hidden add-user row — revealed by the + Add user button. The password is a CSS-masked type=text (cfg-input-mask) to dodge the browser password-manager save prompt, same as keystore secrets. */}}
Username Shell SSH Keys
{{.ShellLabel}} {{.KeyCount}}
{{/* Login shell — match the option's bare .Label against the user's effective ShellLabel; .Value carries a module prefix the stored shell does not. */}}
Login Shell
{{/* Change password. type=text + CSS mask (cfg-input-mask) dodges the browser password-manager save prompt, same as the keystore secret fields. */}}
Change Password
New password{{template "field-info" (index $.Desc "password")}}
Hash{{template "field-info" (index $.Desc "crypt")}}
{{/* Authorized SSH keys */}}
Authorized SSH Keys ({{.KeyCount}})
{{if .AuthorizedKeys}}
{{range .AuthorizedKeys}} {{end}}
NameAlgorithm
{{.Name}} {{.Algorithm}}
{{end}}
Key name
Public key
{{/* ── Groups ─────────────────────────────────────────────────────── */}}
Groups
{{range $i, $g := .Groups}} {{end}}
Group Members
{{.MembersSummary}}
Members
{{if .UserNames}}
{{range .UserNames}} {{end}}
Username
{{.}}
{{else}}

No members.

{{end}} {{if .Available}}
Add Members
{{end}}
{{template "configure-toolbar" .}} {{end}}{{/* end {{else}} — schema ready */}} {{end}}