feat(ui): ship contextual action primitives

This commit is contained in:
master
2026-03-08 00:02:02 +02:00
parent a295841d25
commit f709d519ec
30 changed files with 1446 additions and 392 deletions

View File

@@ -115,6 +115,36 @@ Use stable, predictable query params and child routes instead of ad hoc local st
- row or bulk actions that preserve page context
- confirmation only for destructive or privilege-sensitive actions
## Shipped Implementation
The shared contract is now implemented under `src/Web/StellaOps.Web/src/app/shared/ui/` and should be treated as the default building block set for restoration work.
### Shipped primitives
- `context-route-state`
- central helpers for `tab`, `panel`, `drawer`, `returnTo`, `scope`, and `view`
- includes `readContextRouteState`, `readContextRouteParam`, `buildContextRouteParams`, and `buildContextReturnTo`
- `context-header`
- stable subject header with chips, context note, and return-to-context action
- `context-drawer-host`
- overlay or rail presentation with shared close behavior, escape handling, and testable route-state integration
- `list-detail-shell`
- responsive split list/detail layout for owner shells with one dominant list workflow
- `overview-card-groups`
- grouped overview cards with one-card-to-one-route behavior
- `tabbed-nav`
- now supports both classic tabs and owner-shell submenu pills, plus route command arrays and shared query params
### First adopted surfaces
- Watchlist uses the shared route-state, contextual header, tabs, and list-detail shell.
- Reachability uses the shared route-state, contextual header, and tabs.
- Operations uses the shared submenu and grouped overview-card patterns.
- Workflow Replay uses the shared route-state, contextual header, tabs, and drawer host.
### Delivery rule
- New restoration work should adopt these primitives before introducing new feature-local panel or route-state helpers.
- Context-preserving deep links should use `returnTo` instead of bespoke navigation metadata.
- Owner shells should prefer submenu pills, tabs, list-detail layouts, or drawers before creating another top-level route tree.
## Topic Mapping
### Watchlist
@@ -153,3 +183,4 @@ Use stable, predictable query params and child routes instead of ad hoc local st
- `docs/ui-analysis/05_ROUTE_SUMMARY_AND_OBSERVATIONS.md`
- `docs/modules/ui/architecture.md`
- `docs/modules/ui/architecture-rework.md`
- `docs/features/checked/web/contextual-actions-patterns-ui.md`