Fixed in https://github.com/badbundle/vault-app/pull/636 (merged as b2d4d400).
One sheet: the + button now opens a single sheet whose first screen is the type choice. It has a step header ("Type") and the option cards on the sheet's glass, and it's sized to fit.
Moving between steps:
- Choosing a type slides its first step in while the sheet resizes. With Reduce Motion on, it fades instead.
- Back on the first step returns to the type choice.
- The progress bar only appears once a type is chosen.
Code cleanup: both VaultListView workarounds are gone: presenting the editor by switching modal, and resetting detents.
Sheet sizing:
- The sheet now sets its own height from what each screen reports, measured without the bottom safe area. That stopped the jitter, and fitted steps are no longer 34 pt too tall.
- Tall steps, such as a code's Key step, use
.large.
Judgement calls:
- Back from the first step discards what was entered, the same as Cancel.
- A second tap during the slide is ignored.
- The recovery phrase "Passcode Required" screen sits on the sheet's glass, with Back instead of Cancel.
Tests:
CreateItemFlowTestscovers choosing, going back, a second tap, and choosing again.- Type-choice snapshots (light and dark, three text sizes).
CreateItemFlowViewSnapshotTests.- Checked in the simulator with Reduce Motion on and off, in light and dark.