Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Member profile

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/members/[memberId]

Purpose and access

Inspect one member and open the same member-edit dialog used by the directory.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.

Screen layout

The record view groups identity and contact details, household links, education/work, health/support, and residency information. The identification number has a reveal control. A missing household offers Link a family.

Fields and displayed information

Displayed table columns: Age, Phone, Email, Household.

Fields and filters: Member form dialog

Actions

Linked navigation

Interaction sequence

Open a member row → inspect the profile → use Edit member or Link a family → update the dialog → save → refresh the profile. Use household links to navigate to related records.

States and rules

The route resolves the member by ID within the tenant and uses notFound when the record cannot be loaded. No health details recorded is a dedicated empty panel. Revealing the ID changes visibility only.Explicit validation messages in the rendered forms:
  • Member full name is required.
The rendered action controls bind loading indicators to pending state. Failed API saves keep their documented error/notification path; a loading indicator alone does not establish persistence.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/admin/[tenant]/members/[memberId]/page.tsx
  • apps/web/src/features/tenants/member-detail-view.tsx
  • apps/web/src/features/tenants/member-form-dialog.tsx
  • apps/web/src/features/tenants/contribution-history.tsx
  • apps/web/src/features/tenants/record-layout.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/members.ts, apps/web/src/lib/business-resources.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: members.view, members.create, members.update, members.delete. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.

API behavior references

  • apps/api/src/members/education-employment.controller.ts
  • apps/api/src/members/health-support.controller.ts
  • apps/api/src/members/members.controller.ts