mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-25 04:33:03 +00:00
Canonicalize product table frames
This commit is contained in:
@@ -168,6 +168,12 @@ work extends shared components instead of creating new local variants.
|
||||
## Extension Points
|
||||
|
||||
1. Add shared primitives in `frontend-modern/src/components/shared/`
|
||||
Framed product table surfaces must consume the shared
|
||||
`TableCard` primitive instead of composing page-local `Card` border,
|
||||
background, and overflow classes. Feature owners may own the table data,
|
||||
filters, columns, and row behavior, but the outer product-table frame and
|
||||
its light/dark border treatment belong to frontend primitives so
|
||||
Infrastructure, Workloads, Storage, and Recovery do not drift visually.
|
||||
Shared monitored-system warning primitives under that path must stay compact
|
||||
app-shell pointers into the owned Pulse Pro billing surface. The shared
|
||||
banner may announce posture and route to the relevant billing tab, but
|
||||
|
||||
@@ -224,6 +224,11 @@ regression protection.
|
||||
the shared `.grouped-table-row` CSS contract in `frontend-modern/src/index.css`,
|
||||
rather than local `bg-surface-alt` or hover-fill variants that drift between
|
||||
pages.
|
||||
Framed product-table cards on the same hot-path surfaces must consume the
|
||||
frontend-primitives-owned `TableCard` wrapper so Workloads,
|
||||
Infrastructure, Storage, and Recovery keep one border/background/overflow
|
||||
frame instead of introducing page-local table shells with different
|
||||
light/dark contrast.
|
||||
Infrastructure table responsive behavior belongs to that same hot-path
|
||||
owner. `frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts`
|
||||
must derive column visibility from the measured table surface width, with
|
||||
|
||||
@@ -68,6 +68,11 @@ querying, and the operator-facing storage health presentation layer.
|
||||
|
||||
1. Add or change recovery-point persistence, rollups, or series derivation through `internal/recovery/`
|
||||
2. Add or change recovery page UX through `frontend-modern/src/components/Recovery/` and keep canonical route/query/filter state ownership in `frontend-modern/src/features/recovery/useRecoverySurfaceState.ts`
|
||||
Recovery table surfaces must consume the frontend-primitives-owned
|
||||
`TableCard` frame for protected-item, recovery-event, and adjacent
|
||||
table-fallback chrome. Storage/recovery may own table content, filters,
|
||||
columns, and rows, but it must not fork border/background/overflow table
|
||||
shells or reintroduce lighter open-sided Recovery table frames.
|
||||
Recovery inventory protection posture and recovery-event outcome filtering
|
||||
must stay separate in that owner: protected inventory uses the route-backed
|
||||
`state` query for health, stale, failed, warning, running, unknown, and
|
||||
|
||||
@@ -337,7 +337,11 @@ AI-only summary payloads, or page-local heuristics.
|
||||
plus `frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts`
|
||||
must consume that scope through the shared page/group/entity interaction
|
||||
contract rather than inventing infrastructure-local summary filters or
|
||||
route-backed cluster hover state. Deliberate cluster focus must also stay
|
||||
route-backed cluster hover state. Host and service infrastructure table
|
||||
card frames must consume the frontend-primitives-owned `TableCard` wrapper;
|
||||
unified-resource ownership remains on resource identity, grouping, and row
|
||||
semantics rather than forking a table border/background shell. Deliberate
|
||||
cluster focus must also stay
|
||||
on the canonical infrastructure route through the shared `summaryGroup`
|
||||
query state, so pinned scope is shareable, reversible, and owned by the
|
||||
same route-backed summary contract as row focus. Infrastructure must stay
|
||||
|
||||
Reference in New Issue
Block a user