Gera, 2026-10-04: a red dot to the right of anything still open in Onboarding & go-live. Section tabs first.
4 Oct 2026 · branch feat/onboarding-red-dots-sections · captured against propflow-stage · at eaa74a43e41
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.
A pre-launch test company. Each section tab with an answer still open has a small red dot after its name; a section whose answers are all in has none. Every tab keeps the dot's room either way, so the tabs are the same width before and after the answers load.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
The same company in dark mode. The dot is the red badge token, which has its own dark value, so it reads on the dark card.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
Phone width: the tabs wrap onto several lines, each dot stays beside its section's name, and there is no sideways scroll.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
Phone width, dark.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
The status read is held open. The section names are already real (screen rule 18); no dot is drawn yet, and each tab already holds the empty room the dot will fill, so nothing moves when the answer lands.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
A live test company. The answers are a read-only record now, so no section carries a dot, even if something was left unanswered.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
Live, phone width, dark: still no dots.
Asserted in the captured DOM — Hours & contact · Fees & deposits · Applying · Policies · Tours & move-in · People
section-dots.dom.test.tsx pins the four states against the real frame and menu: a slot on every tab while loading, a dot only on the open section, none on a Coming soon section, none once live. Putting back the old conditional dot turns four of its five tests red. The sub-rail module dots come in the next part, once the move to its own address (#16219) lands.