Firm member changes warn before they affect led matters
Firm members settings now previews Matter Team consequences before a member is removed or demoted. The preview is advisory only: counsel can cancel or continue with the existing mutation while the server behavior remains unchanged.
What changes
Choosing Remove opens the consequence dialog before the existing deactivate mutation runs.
Lowering a member's firm role previews the led matters affected by the target role before the existing role-change mutation runs.
Loading or failed previews still leave the primary confirmation button available. There is no separate skip path.
Preview outcomes
-
auto_promoted: affected matters that pass to their sole remaining editor are listed as individual rows with the successor named plainly. -
no_lead: affected matters that need a new lead are listed as individual rows. -
unchanged: not rendered in the dialog because the matter is not affected.
Review path
| Surface | Expected proof |
|---|---|
| Settings / Team / DemoteConsequenceDialog / MixedOutcomes | Shows affected auto-promoted and No lead matter rows with matter references, matter names, body copy, and outcome badges. |
| Settings / Team / DemoteConsequenceDialog / AllAutoPromoted | Shows only affected auto-promoted matter rows. |
| Settings / Team / DemoteConsequenceDialog / AllNoLead | Shows only affected No lead matter rows. |
| Settings / Team / DemoteConsequenceDialog / NoLedMatters | Shows the demote capability warning without an affected-matter list. |
| Settings / Team / DemoteConsequenceDialog / RemoveAffectedMatters | Shows remove copy and affected matter rows, while the existing deactivate mutation remains unchanged. |
| Settings / Team / DemoteConsequenceDialog / RemoveNoLedMatters | Shows the access-loss sentence without a led-matter outcome list. |
Files changed
10 file(s), +1046 / -49 lines
| Path | Role | + | - |
|---|---|---|---|
| messages/en.json | Config | +26 | -2 |
| messages/hi.json | Config | +26 | -2 |
| src/components/settings/team/demote-consequence-dialog.stories.tsx | Component | +203 | -0 |
| src/components/settings/team/demote-consequence-dialog.tsx | Component | +365 | -0 |
| src/components/settings/team/presentation.ts | Component | +42 | -6 |
| src/components/settings/team/team-list-page.test.tsx | Component | +284 | -9 |
| src/components/settings/team/team-list-page.tsx | Component | +13 | -11 |
| src/components/settings/team/team-storybook-helpers.tsx | Component | +4 | -0 |
| src/components/settings/team/use-team-list-actions.ts | Component | +63 | -11 |
| tests/unit/use-team-list-actions.test.tsx | Test | +20 | -8 |