{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin user")}}

{{ctx.Locale.Tr "admin.users.user_manage_panel"}} ({{ctx.Locale.Tr "admin.total" .Total}})

{{template "shared/search/combo" dict "Value" .Keyword "Placeholder" (ctx.Locale.Tr "search.user_kind")}}
{{range .Users}} {{if .LastLoginUnix}} {{else}} {{end}} {{end}}
ID{{SortArrow "oldest" "newest" .SortType false}} {{ctx.Locale.Tr "admin.users.name"}} {{SortArrow "alphabetically" "reversealphabetically" $.SortType true}} {{ctx.Locale.Tr "email"}} {{ctx.Locale.Tr "admin.users.activated"}} {{ctx.Locale.Tr "admin.users.restricted"}} {{ctx.Locale.Tr "admin.users.2fa"}} {{ctx.Locale.Tr "admin.users.created"}} {{ctx.Locale.Tr "admin.users.last_login"}} {{SortArrow "lastlogin" "reverselastlogin" $.SortType false}}
{{.ID}} {{.Name}} {{if .IsAdmin}} {{ctx.Locale.Tr "admin.users.admin"}} {{else if eq 2 .Type}}{{/* Reserved user */}} {{ctx.Locale.Tr "admin.users.reserved"}} {{else if eq 4 .Type}}{{/* Bot "user" */}} {{ctx.Locale.Tr "admin.users.bot"}} {{else if eq 5 .Type}}{{/* Remote user */}} {{ctx.Locale.Tr "admin.users.remote"}} {{end}} {{.Email}} {{svg (Iif .IsActive "octicon-check" "octicon-x")}} {{svg (Iif .IsRestricted "octicon-check" "octicon-x")}} {{svg (Iif (index $.UsersTwoFaStatus .ID) "octicon-check" "octicon-x")}} {{DateUtils.AbsoluteShort .CreatedUnix}}{{DateUtils.AbsoluteShort .LastLoginUnix}}{{ctx.Locale.Tr "admin.users.never_login"}}
{{template "base/paginate" .}}
{{template "admin/layout_footer" .}}