shared/sheet_states library
The two phases every money sheet shares (stage S11 C7): the spinner while it proposes or submits, and the outcome it ends on. The shield and move-to-transparent sheets each carried an identical private copy.
NOT exported: the labels are the calling sheet's own l10n keys, passed in.
Classes
- WalletSheetBusy
- A transient spinner phase (loading, proposing, submitting).
- WalletSheetResult
- A terminal phase: an icon, a title, an optional body, a Close, and an optional "Try again". A live region, so a screen reader announces the outcome.
Functions
-
confirmLeaveSheetWhileSending(
BuildContext context) → Future< void> - Back on a money sheet while it submits (S13 §1.3, the diff review's MEDIUM): the sheet holds Back, and this asks instead — the submit is unbounded, so the hold must never strand the user. Leaving does not cancel anything (the transaction outlives the sheet); Leave pops the sheet directly, past its own hold. The maintainer's words.