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

Meetings and minutes

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/committee/meetings

Purpose and access

Schedule committee meetings and record decisions within a selected meeting.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 page shows a meeting list and selected-meeting details, with Schedule meeting, Edit, Remove, and the decision form.

Fields and displayed information

Fields and filters: Committee meeting form dialog

Fields and filters: Committee decision form

Actions

Linked navigation

Interaction sequence

Schedule meeting → enter its details → save → select the meeting → add a decision or minute → save → refresh. Editing and deletion apply to the selected meeting.

States and rules

Empty meetings have a dedicated state. Meeting and decision saves are separate requests; adding a meeting does not automatically create its decisions.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]/committee/meetings/page.tsx
  • apps/web/src/features/tenants/committee-meetings.tsx
  • apps/web/src/features/tenants/committee-meeting-form-dialog.tsx
  • apps/web/src/features/tenants/committee-decision-form.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/committee.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: committee.view, committee.create, committee.update, committee.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/committee/committee.controller.ts