[Story-1093] Proceeding Types settings page

Story 1093Epic None30 files · +1850/−0

PR #266 · pramaan-io/pramaan-app · merged 2026-06-08

Why this matters

When a single type vanishes, every matter that referenced it does too.

Proceeding Types settings — the page that guards the reference graph.

One careless click and the reference graph snaps.

The fix — Live, Archived, and a guarded delete — a proceeding type only leaves the system when nothing references it.

How it flows

sequenceDiagram
  autonumber
  participant admin as Librarian (Admin)
  participant page as Catalog (Settings Page)
  participant api as Stacks (Backend Gateway)
  admin->>page: Open Proceeding Types page
  page->>page: Render Live + Archived tabs, search, pagination
  page->>page: Add / Edit opens a sheet form
  page->>api: Create or update request
  api->>page: Validation passed
  page->>api: Archive (reversible)
  page->>api: Delete request
  api-->>page: Conflict — referenced, blocked

Files changed (30)

File±
docs/walkthroughs/story-1093-walkthrough.html+149
messages/en.json+44
messages/hi.json+44
src/app/[locale]/(workspace)/settings/matter-configuration/proceeding-types/page.tsx+39
src/app/api/internal/proceeding-types/[proceedingTypeId]/archive/route.ts+13
src/app/api/internal/proceeding-types/[proceedingTypeId]/route.ts+91
src/app/api/internal/proceeding-types/[proceedingTypeId]/unarchive/route.ts+13
src/app/api/internal/proceeding-types/route.ts+68
src/components/settings/proceeding-types/proceeding-type-delete-dialog.tsx+50
src/components/settings/proceeding-types/proceeding-type-row-actions.tsx+75
src/components/settings/proceeding-types/proceeding-type-sheet-fields.tsx+76
src/components/settings/proceeding-types/proceeding-type-sheet.stories.tsx+58
src/components/settings/proceeding-types/proceeding-type-sheet.tsx+90
src/components/settings/proceeding-types/proceeding-type-table-row.tsx+76
src/components/settings/proceeding-types/proceeding-types-fixtures.ts+62
src/components/settings/proceeding-types/proceeding-types-list-page.stories.tsx+55
src/components/settings/proceeding-types/proceeding-types-list-page.tsx ★+127
src/components/settings/proceeding-types/proceeding-types-presentation.ts+34
src/components/settings/proceeding-types/proceeding-types-table-layout.ts+6
src/components/settings/proceeding-types/proceeding-types-table.stories.tsx+113
src/components/settings/proceeding-types/proceeding-types-table.tsx+67
src/components/settings/proceeding-types/proceeding-types-toolbar.tsx+55
src/components/settings/proceeding-types/proceeding-types-types.ts+19
src/components/settings/proceeding-types/use-proceeding-type-actions.ts+111
src/components/settings/proceeding-types/use-proceeding-type-sheet.tsx ★+127
src/components/settings/settings-sidebar.tsx+6
src/lib/kubb-client.ts+9
src/lib/proceeding-types/gateway.ts ★+145
src/lib/proceeding-types/presentation.ts+15
src/lib/proceeding-types/types.ts+13