Properties: the loading frame follows the table view

p11-x-skeleton-everywhere part B: the table the loading frame now mirrors, and the unchanged cards default

28 Sept 2026 · branch properties-loading-table-ghost · captured against propflow-stage · at 9553eda862+local

Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.

1 · The table view the loading frame now stands in for

Choosing the table stores it for this tab. On the next in-app visit the loading frame draws this same table (same heads, search box and filter) with ghost rows, not ghost cards. The frame shows for a fraction of a second, too brief to capture, so PropertiesLoading.table-ghost.dom.test.tsx compares its heads with this table's (red on main).

Asserted in the captured DOM — PROPERTY · TICKER · ADDRESS · UNITS · OCCUPIED. The table's column heads (drawn in capitals) after choosing the table view.

The table view the loading frame now stands in for

2 · A fresh tab: cards, as before

No stored choice keeps cards, and so does its loading frame. A hard load still starts on cards: the server cannot see the stored choice.

Asserted in the captured DOM — Properties. The page renders with its heading.

A fresh tab: cards, as before
PropFlow Docs