Split organization overview runtime owners

This commit is contained in:
rcourtman
2026-03-21 01:46:11 +00:00
parent 9b94d75786
commit 7b7adb07d4
14 changed files with 595 additions and 255 deletions
@@ -29,24 +29,28 @@ create cross-organization shares.
4. `frontend-modern/src/components/Settings/OrganizationAccessManagementSection.tsx`
5. `frontend-modern/src/components/Settings/OrganizationAccessMembersSection.tsx`
6. `frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx`
7. `frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx`
8. `frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx`
9. `frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx`
10. `frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx`
11. `frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx`
12. `frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts`
13. `frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts`
14. `frontend-modern/src/components/Settings/RolesPanel.tsx`
15. `frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx`
16. `frontend-modern/src/components/Settings/RolesEditorDialog.tsx`
17. `frontend-modern/src/components/Settings/useRBACFeatureGateState.ts`
18. `frontend-modern/src/components/Settings/useRolesPanelState.ts`
19. `frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx`
20. `frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx`
21. `frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts`
22. `frontend-modern/src/utils/orgUtils.ts`
23. `frontend-modern/src/utils/organizationRolePresentation.ts`
24. `frontend-modern/src/utils/organizationSettingsPresentation.ts`
7. `frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx`
8. `frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx`
9. `frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx`
10. `frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx`
11. `frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx`
12. `frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx`
13. `frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx`
14. `frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx`
15. `frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts`
16. `frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts`
17. `frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts`
18. `frontend-modern/src/components/Settings/RolesPanel.tsx`
19. `frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx`
20. `frontend-modern/src/components/Settings/RolesEditorDialog.tsx`
21. `frontend-modern/src/components/Settings/useRBACFeatureGateState.ts`
22. `frontend-modern/src/components/Settings/useRolesPanelState.ts`
23. `frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx`
24. `frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx`
25. `frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts`
26. `frontend-modern/src/utils/orgUtils.ts`
27. `frontend-modern/src/utils/organizationRolePresentation.ts`
28. `frontend-modern/src/utils/organizationSettingsPresentation.ts`
## Shared Boundaries
@@ -55,7 +59,7 @@ create cross-organization shares.
## Extension Points
1. Add or change organization role and share semantics through `internal/models/organization.go`
2. Add or change organization access, overview, sharing, RBAC feature-gating, role-management, or user-assignment presentation through `frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessLoadingState.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessManagementSection.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessMembersSection.tsx`, `frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx`, `frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx`, `frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx`, `frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts`, `frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts`, `frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx`, `frontend-modern/src/components/Settings/RolesPanel.tsx`, `frontend-modern/src/components/Settings/RolesEditorDialog.tsx`, `frontend-modern/src/components/Settings/useRBACFeatureGateState.ts`, `frontend-modern/src/components/Settings/useRolesPanelState.ts`, `frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx`, `frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx`, and `frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts`
2. Add or change organization access, overview, sharing, RBAC feature-gating, role-management, or user-assignment presentation through `frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessLoadingState.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessManagementSection.tsx`, `frontend-modern/src/components/Settings/OrganizationAccessMembersSection.tsx`, `frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx`, `frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx`, `frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx`, `frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx`, `frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx`, `frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx`, `frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts`, `frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts`, `frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts`, `frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx`, `frontend-modern/src/components/Settings/RolesPanel.tsx`, `frontend-modern/src/components/Settings/RolesEditorDialog.tsx`, `frontend-modern/src/components/Settings/useRBACFeatureGateState.ts`, `frontend-modern/src/components/Settings/useRolesPanelState.ts`, `frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx`, `frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx`, and `frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts`
3. Route organization transport changes through `frontend-modern/src/api/orgs.ts` and `frontend-modern/src/api/rbac.ts`
4. Keep backend organization and RBAC handler changes aligned through `internal/api/org_handlers.go`, `internal/api/org_lifecycle_handlers.go`, and `internal/api/enterprise_extension_rbac_admin.go`
@@ -125,6 +129,11 @@ the panel is the shell, `useOrganizationAccessPanelState.ts` owns the
membership runtime, and the loading, management, and members views each live
in dedicated section owners instead of collapsing API lifecycle, permission
gates, and table rendering into one file.
The organization overview surface now follows that same extracted-owner
pattern: the panel is the shell, `useOrganizationOverviewPanelState.ts` owns
the org/member load and display-name runtime, and the loading, details, and
membership views each live in dedicated section owners instead of mixing
summary cards, form actions, and table rendering into the shell.
The sharing surface now follows the same extracted-owner pattern: the panel is
the shell, `useOrganizationSharingPanelState.ts` owns the API-backed runtime,
and the loading, create, outgoing, and incoming views each live in dedicated
@@ -2119,6 +2119,9 @@
"frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx",
"frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx",
"frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx",
"frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx",
@@ -2127,6 +2130,7 @@
"frontend-modern/src/components/Settings/RolesEditorDialog.tsx",
"frontend-modern/src/components/Settings/RolesPanel.tsx",
"frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts",
"frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts",
"frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts",
"frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx",
"frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx",
@@ -2144,6 +2148,7 @@
"exact_files": [
"frontend-modern/src/api/__tests__/orgs.test.ts",
"frontend-modern/src/components/Settings/__tests__/OrganizationAccessPanel.test.tsx",
"frontend-modern/src/components/Settings/__tests__/OrganizationOverviewPanel.test.tsx",
"frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
"internal/models/organization_additional_test.go"
],
@@ -2176,6 +2181,9 @@
"frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx",
"frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx",
"frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx",
"frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx",
"frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx",
@@ -2184,6 +2192,7 @@
"frontend-modern/src/components/Settings/RolesEditorDialog.tsx",
"frontend-modern/src/components/Settings/RolesPanel.tsx",
"frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts",
"frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts",
"frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts",
"frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx",
"frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx",
@@ -2200,6 +2209,7 @@
"frontend-modern/src/api/__tests__/orgs.test.ts",
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
"frontend-modern/src/components/Settings/__tests__/OrganizationAccessPanel.test.tsx",
"frontend-modern/src/components/Settings/__tests__/OrganizationOverviewPanel.test.tsx",
"frontend-modern/src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",