Skip to main content

UserDetailView

packages/core/components/organisms/UserDetailView.js · Tier: organism · Module: core · Rendering: Server Component

Purpose​

The admin detail layout for a citizen or worker: a back link, a read-only profile card (avatar, name, email, status badge, and a field list) and a "System events" section. The system-trail panel itself (filters, list, pager) is composed by the page and passed as children, keeping this organism agnostic of how events are fetched.

Props​

PropTypeRequiredDefaultDescription
profileobjectyes—{ id, name, email, createdAt?, role, status, neighbourhood? }.
langstringyes—Locale for formatDateTime.
backHrefstringyes—Back link (already lang-prefixed).
detailLabelsobjectyes—admin.userDetail labels (back, profileTitle, field labels).
commonLabelsobjectyes—admin.common (roleLabels, statusActive/Disabled).
childrenReactNodeyes—The system-trail panel (e.g. UserActivityPanel).

Composition​

  • Uses: atoms/core/Avatar, atoms/core/Icon, formatDateTime; an internal Field sub-component.
  • Used by: the Administration citizen/worker detail pages (which pass a UserActivityPanel as children).

Internationalisation​

Labels via detailLabels / commonLabels; the join date is localized via formatDateTime.

Accessibility​

Single page <h1>; the profile fields use a <dl>; a disabled account renders the avatar grayscaled and an error-tone status badge.

Styling & tokens​

bg-surface-container-lowest, border-outline-variant, rounded-md; status badge uses secondary-/error-container pairs.

organisms/core/UserActivityPanel, organisms/core/UserCardGrid, molecules/core/UserMiniCard.