Phase 6, step 5, second half: the plan asked to revisit the 91 `TextAlign.Center`
uses, on the grounds that start alignment is what gives the rulers something to
align to. Revisited, and 84 of them are right.
Centring is correct for a block that is the only thing on the screen, because
there is nothing for it to align to: an empty state, a loading or error message,
one of the six onboarding status screens, a "coming soon" placeholder, the
landing screen's hero, a dialog's title. Converting those would have been a
restyle wearing a conformance argument.
Seven were wrong, and they share one shape -- text sitting in a column *beside a
full-width element*, so there was a leading edge and it was being ignored:
- the two helper lines under `CreateProfileScreen`'s name and bio fields, and
the two under `ChatRoomCreationScreen`'s. Each `TextField` is
`fillMaxWidth()`, and its label, placeholder, leading icon and supporting
text all begin at the same edge; the sentence explaining the field floated
centred at whatever width it happened to be;
- `SelectChatRoomTypeScreen`'s "this decides who can change the group later",
which sits directly above three full-width cards;
- `CreateProfileScreen`'s confirmation list, where "Name" and the name below it
were each centred at their own width, so the label and the value it labels
started in different places. Five texts there now share one edge.
The parent columns are still `Alignment.CenterHorizontally`, which is why each of
these needed `fillMaxWidth()` and not merely the removal of `textAlign`: a `Text`
without a width in a centred column is centred as a box, so dropping the text
alignment alone would have changed nothing visible.
Nothing else in the sweep moves. The remaining 84 are listed above by category
rather than site because the category is the reason.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>