Extract alert history tab

This commit is contained in:
rcourtman
2026-03-20 15:16:28 +00:00
parent 283eb1d341
commit ee178e967c
6 changed files with 1681 additions and 1696 deletions
@@ -149,11 +149,12 @@ assume discovery metadata is always present when deriving override IDs or
toggle styling.
The alerts page shell in `frontend-modern/src/pages/Alerts.tsx` must now keep
destinations and schedule rendering feature-owned under
destinations, history, and schedule 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
runtime presentation and tab-local interaction logic.
runtime presentation, tab-local interaction logic, and any history-table
presentation that does not belong in a shared primitive.
Alert filter metadata and grouped header consumers must also preserve the
canonical `agent` and `node` header boundary when reusing shared filter
@@ -223,10 +223,12 @@ 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/features/alerts/tabs/DestinationsTab.tsx` and
`frontend-modern/src/features/alerts/tabs/HistoryTab.tsx` plus
`frontend-modern/src/features/alerts/tabs/ScheduleTab.tsx` own their tab-local
rendering and interaction logic. Future alert tab cleanup should continue by
extracting page-local tab blocks into feature modules rather than expanding the
top-level page file again.
top-level page file again, and history-table behavior should stay feature-owned
unless it graduates into a shared primitive used by more than one alert surface.
Top-level settings surfaces must route through `Settings.tsx`,
`SettingsPageShell.tsx`, and
`frontend-modern/src/components/shared/SettingsPanel.tsx` instead of