Split settings panel registry context owner

This commit is contained in:
rcourtman
2026-03-21 14:17:56 +00:00
parent 5c9149122b
commit 88bdac466f
7 changed files with 148 additions and 124 deletions
@@ -84,8 +84,9 @@ work extends shared components instead of creating new local variants.
62. `frontend-modern/src/components/Settings/networkSettingsModel.ts`
63. `frontend-modern/src/components/Settings/useDiscoverySettingsState.ts`
64. `frontend-modern/src/components/Settings/useSettingsInfrastructurePanelProps.ts`
65. `frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx`
66. `frontend-modern/src/components/Settings/useSettingsSystemPanels.tsx`
65. `frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx`
66. `frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx`
67. `frontend-modern/src/components/Settings/useSettingsSystemPanels.tsx`
## Shared Boundaries
@@ -272,7 +273,7 @@ through `frontend-modern/src/utils/alertIncidentPresentation.ts` instead of
maintaining page-local incident panel styling inside
`frontend-modern/src/pages/Alerts.tsx`.
The settings shell now also has an explicit four-way ownership split.
The settings shell now also has an explicit five-way ownership split.
`frontend-modern/src/components/Settings/useDiscoverySettingsState.ts` owns the
shared discovery draft and subnet-validation state,
`frontend-modern/src/components/Settings/useSettingsInfrastructurePanelProps.ts`
@@ -280,11 +281,13 @@ owns infrastructure workspace prop assembly and resource-derived infrastructure
read-model shaping for the shell,
`frontend-modern/src/components/Settings/useSettingsSystemPanels.tsx` owns
system panel prop assembly for general, network, updates, and recovery, and
`frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx` owns
registry composition only. `frontend-modern/src/components/Settings/Settings.tsx`
`frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx` owns
registry context assembly for dispatchable settings tabs while
`frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx` owns the
final memoized registry composition only. `frontend-modern/src/components/Settings/Settings.tsx`
must stay a shell that wires those owners together instead of re-accumulating
infrastructure workspace props, system panel prop maps, or discovery draft
state inline.
infrastructure workspace props, registry context maps, system panel prop maps,
or discovery draft state inline.
The resource incident panel's collapsed activity summary is now part of that
same shared primitive boundary. Event-type count chips, visible-event copy,
@@ -1866,6 +1866,7 @@
"frontend-modern/src/components/Settings/settingsHeaderMeta.ts",
"frontend-modern/src/components/Settings/SettingsPageShell.tsx",
"frontend-modern/src/components/Settings/settingsPanelRegistry.ts",
"frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx",
"frontend-modern/src/components/Settings/ssoProvidersModel.ts",
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
"frontend-modern/src/components/Settings/SystemLogsPanel.tsx",
@@ -1951,6 +1952,7 @@
"frontend-modern/src/components/Settings/settingsHeaderMeta.ts",
"frontend-modern/src/components/Settings/SettingsPageShell.tsx",
"frontend-modern/src/components/Settings/settingsPanelRegistry.ts",
"frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx",
"frontend-modern/src/components/Settings/ssoProvidersModel.ts",
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
"frontend-modern/src/components/Settings/UpdateInstallGuide.tsx",