Skip to content

Matters — Detail Page

The Matter detail page (/matters/:id) is the deep-dive on a single matter. Where the Matters list is your full caseload at a glance, the detail is where the actual work happens — adding participants, uploading documents, posting time, sending envelopes, running due-diligence workflows.

The page is structured around a strict two-level tab strip so each domain has its own URL and deep-link surface, locked in by issue #196’s information-architecture rework.

Matter detail — Acme Financial Group demo tenant

PageHeader with the matter’s name as the title and the matter reference as the description. Breadcrumbs link back to the Matters list. Action area carries the status pill, Edit, and Delete buttons.

A bordered card below the header surfaces at-a-glance facts:

  • Matter ID + type
  • Primary client
  • Opening, last-activity, and closing dates
  • Status + sub-status

The matter’s description, when present, wraps to a second row inside the same card.

Top tabDomain
OverviewSummary, Activity
ParticipantsClients, Counterparties, Third-parties, Assigned Staff
AccountingTrust, Disbursements, Billings
DriveFiles, Envelopes, Emails, Shared
MessagesInternal, Client
WorkflowNotifications, Kanban
Due DiligenceSearches, Reports, Requisitions, Undertakings

The seven top tabs are stable across all matter types — IA is the same whether you’re working a real estate transaction or a litigation file.

Each top tab has a list of sub-tabs that scope the body. The active sub-tab is reflected in the URL as ?tab=top&sub=sub.

The body changes per (top, sub) pair. Most surfaces are stand-alone components composed in: MatterParticipantsTab, MatterFolderTree, MatterEnvelopesTab, MatterMessagesInternalTab, etc.

/matters/:id?tab=drive&sub=files
/matters/:id?tab=overview&sub=summary

Pre-#196 single-strip URLs (?tab=fees, ?tab=comments, …) auto-redirect to the new (top, sub) pair via a redirect map in matter-detail-page.tsx. External bookmarks keep working.

Some tabs are gated by tenant plan or matter status:

GateBehaviour
Plan excludes Trust AccountingAccounting > Trust shows an upgrade banner
Litigation hold activeDrive deletes are refused; banner shown
Matter is closedEdit/Delete disabled by default; Owner can override

The Edit button opens a slide-out with the same form used by New Matter, pre-filled. Saving emits matter.updated with a typed diff payload to the audit log.

Delete is hard-delete only when the matter has zero trust ledger entries and zero linked envelopes. Otherwise the platform refuses the delete and surfaces a toast pointing to Settings ▸ Trust Accounting for the retention purge workflow.

RoleViewEditAdd participantsDelete
Owner / Admin
Member (assigned)
Member (not assigned)List shows locked row + request access
ViewerRead-only

Per-tab permission overrides are evaluated server-side in addition to the role check.

ActionEvent
Editmatter.updated (with diff)
Deletematter.deleted
Hold apply / releasematter.hold_applied / _released
Participant addmatter_participant.added
Document uploadmatter_document.created
Trust postingtrust.entry_posted

Events surface in Settings ▸ Audit Log.

SymptomMost likely causeFix
403 on detail loadNot assignedUse Request access on the list
Tab hiddenPlan tier exclusionUpgrade under Settings ▸ Billing
Edit disabledLitigation holdRelease under Settings ▸ Compliance
Delete failsTrust ledger entries presentUse the trust retention purge workflow
Legacy URL not redirectingTab name not in the redirect mapUse the new (top, sub) URL form