mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-12 23:31:30 +00:00
Extract alerts configuration surface
This commit is contained in:
@@ -152,11 +152,19 @@ The alerts page shell in `frontend-modern/src/pages/Alerts.tsx` must now keep
|
||||
destinations, history, schedule, and thresholds rendering feature-owned under
|
||||
`frontend-modern/src/features/alerts/tabs/`. New alert tab surfaces should be
|
||||
extracted as feature modules instead of remaining page-local function blocks,
|
||||
so the page owns navigation/save orchestration while tab files own their
|
||||
so the page owns navigation and cross-surface routing while tab files own their
|
||||
runtime presentation, tab-local interaction logic, and any history-table
|
||||
presentation or thresholds-table adapter logic that does not belong in a shared
|
||||
primitive.
|
||||
|
||||
Alert configuration load/save state, notification config reloads, and threshold
|
||||
override normalization now route through
|
||||
`frontend-modern/src/features/alerts/AlertsConfigurationSurface.tsx` instead of
|
||||
living inline in `frontend-modern/src/pages/Alerts.tsx`. The page shell owns
|
||||
navigation, activation chrome, and cross-surface routing; the configuration
|
||||
surface owns the alert config controller and composes the destinations,
|
||||
schedule, and thresholds tabs beneath that feature boundary.
|
||||
|
||||
Alert filter metadata and grouped header consumers must also preserve the
|
||||
canonical `agent` and `node` header boundary when reusing shared filter
|
||||
primitives. Frontend alert tables may not drift back to ad hoc host-key
|
||||
|
||||
@@ -220,8 +220,8 @@ Pulse resource, then layer on additional context.
|
||||
The settings shell is now also a governed frontend primitive boundary.
|
||||
|
||||
The alerts page shell now follows that same page-shell rule for feature tabs:
|
||||
`frontend-modern/src/pages/Alerts.tsx` owns navigation, load/save
|
||||
orchestration, and cross-tab state, while feature-owned tab surfaces such as
|
||||
`frontend-modern/src/pages/Alerts.tsx` owns navigation and cross-surface
|
||||
routing, while feature-owned tab surfaces such as
|
||||
`frontend-modern/src/features/alerts/tabs/DestinationsTab.tsx` and
|
||||
`frontend-modern/src/features/alerts/tabs/HistoryTab.tsx` plus
|
||||
`frontend-modern/src/features/alerts/tabs/ScheduleTab.tsx` and
|
||||
@@ -231,6 +231,15 @@ continue by extracting page-local tab blocks into feature modules rather than
|
||||
expanding the top-level page file again, and history-table behavior or
|
||||
thresholds-table adapter logic should stay feature-owned unless it graduates
|
||||
into a shared primitive used by more than one alert surface.
|
||||
|
||||
The alerts page now also applies the same shell-versus-feature rule to
|
||||
configuration orchestration. `frontend-modern/src/pages/Alerts.tsx` is the page
|
||||
shell, while `frontend-modern/src/features/alerts/AlertsConfigurationSurface.tsx`
|
||||
owns alert config load/save behavior, notification-config reloads, defaults,
|
||||
and threshold-override normalization for the destinations, schedule, and
|
||||
thresholds tabs. Future cleanup should continue by moving page-local config
|
||||
control flow into that feature surface or a narrower shared primitive, not back
|
||||
into the top-level page shell.
|
||||
Top-level settings surfaces must route through `Settings.tsx`,
|
||||
`SettingsPageShell.tsx`, and
|
||||
`frontend-modern/src/components/shared/SettingsPanel.tsx` instead of
|
||||
|
||||
Reference in New Issue
Block a user