UI rev 5: native onboarding/restore/empty-states + receive-moment redesign #32
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
asmo/wallet!32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/ui-rev-5"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A UI-revision round that moves the onboarding, restore, empty-state, and receive surfaces onto the app's native design-system vocabulary (Liquid Glass, system materials,
AmountFormatter, the one sanctioned celebration motion) and away from stock SwiftUI chrome. Four commits:What's in here
1. Onboarding: acknowledge-to-continue seed backup (
2b9c5c9)Drops the "Verify Seed Phrase" quiz. The seed grid is hidden behind a tap-to-reveal blur with a plain copy control; the primary CTA is gated behind a required acknowledgement before advancing to the first-mint step.
2. Native empty states (
aeb8e06)Adds a shared
NativeEmptyStatecomponent (animated SF Symbol + title/description, reduce-motion aware) and adopts it across History, the wallet home, onboarding, and Mint Discovery.3. Native Restore flow + design-system polish (
79f9400)RestoreWalletView: seed entry → mint recovery) and brings its "Restore Ecash" step to DESIGN.md compliance: glass Add/Paste capsules (replacing stock.borderedProminent/.bordered), a.thinMaterialmint-URL field (replacing.roundedBorder), an iconless "Restore from N mints" CTA, and a demoted plain-text "Skip" so the loudest control on a recovery screen is no longer the exit.SuggestedMintsSection(one-tap known-mint quick-add) that turns the empty-state recall task into recognition, and mirrors the treatment into the onboarding twin so the two restore screens match.4. Receive moment: balance beat replaces the toast (
815d230)✓ +2,500beat that takes over the balance's fiat sub-amount slot for 2.5s, reusing the sanctioned payment-received celebration (spring + scale/opacity + checkmark bounce; reduce-motion → opacity; VoiceOver-hidden).formatAmountShortnow routes throughAmountFormatter, so balance / history / beat all group as "2,500" (fixing the "2,500 / 2 500 / +2500" split).NotificationBadgeView(the app's last.shadow) and updates DESIGN.md: retire the Floating-Toast Exception → No-Shadow Absolute, and document the received-delta beat under Notifications + Motion §6.Testing
xcodebuild -scheme CashuWallet -destination 'generic/platform=iOS Simulator'→ BUILD SUCCEEDED at each step.🤖 Generated with Claude Code
@asmogo can you review and merge?