PR #12886 — loading rows are a loaded row tall

Before/after of every DataTable loading row, measured on Tenants and Prospects. Board row p11-x-skeleton-everywhere.

Tenants

WhatLoading screen, beforeLoading screen, afterLoaded pageVerdict
Single-line row height33px34.5px35.5px✓ matches within 1px
Drift over 15 rows37.5px15px—✓ smaller
Screenshots
Tenants loading screen — before (origin/main)
Tenants loading screen — before (origin/main)
Tenants loading screen — after (#12886)
Tenants loading screen — after (#12886)
Tenants loaded page
Tenants loaded page

Prospects

WhatLoading screen, beforeLoading screen, afterLoaded pageVerdict
Single-line row height33px34.5px39.5pxresidual 5px — the loaded row is taller than one text line (see note)
Drift over 15 rows97.5px75px—✓ smaller
Screenshots
Prospects loading screen — before (origin/main)
Prospects loading screen — before (origin/main)
Prospects loading screen — after (#12886)
Prospects loading screen — after (#12886)
Prospects loaded page
Prospects loaded page
What this does not fix
What this does not fix. Prospects' loaded rows are 39.5px because a cell in them is taller than one line of text; a one-line ghost cannot match that, and this PR does not claim it. Also visible and NOT in scope: with Every company picked, the loaded Tenants table adds a Company column the loading screen does not draw (selection-dependent, same class as the single-building column), and Prospects' Last Activity header is right-aligned on the page but left in the loading screen.
How these were captured
How these were captured. Local dev server bound to the propflow-stage table (anonymized by construction), signed in as the smoke login, desktop 1440×900, on 2026-09-28. The loading screen shots hold the page's server render with an uncommitted local hook (a cookie-gated 45 s wait in each list's page.tsx) so the route's loading.tsx stays on screen. That hook is NOT in any PR. Heights are read from the rendered DOM (getBoundingClientRect), not estimated. Before = origin/main; after = the PR's branch.
PropFlow Docs