{{- /* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial */ -}} {{- /* SPDX-FileCopyrightText: 2025-2026 Christian Galo */ -}} {{/* operator_persons.html People directory body partial for GET /operator/persons (operator-people-directory D6), dispatched by GetPersonsPage. Built from the page-anatomy parts (docs/design-system.md ยง6). Governed by operator-list-scale (operator_list_controls.html): search over display name and email, true-total pagination. No status facet -- People has no status vocabulary controls filter on. Newest-joined first, so "who joined this week?" is page one. Three states: - Error: the load failed. - Zero rows AND Nav.Filtered: the search/clear-search matched nothing -- listNoMatch, distinct from true-empty (empty-state-guidance). - Zero rows AND not Nav.Filtered: the deployment has no persons at all yet -- honest empty copy naming how a person row comes to exist, no controls (nothing to search or clear). */}} {{ template "pageHeader" .Header }} {{ if .Error }}
| Name | Status | First seen | |
|---|---|---|---|
| {{ .DisplayName }} | {{ .Email }} {{ if not .EmailVerified }}{{ template "statusBadge" .UnverifiedBadge }}{{ end }} | {{ template "statusBadge" .StatusBadge }} | {{ .JoinedAt }} |