Profile & settings
Mobile app: every screen, state and flow in Profile & settings.
10 screens and overlays, 65 states, 6 flows. Frames show a real screenshot where one was captured and a wireframe card where the state needs data or conditions a device run cannot produce.
Flows
Guest opens Profile
Branches and edge cases
Terms of Service
Unable to Load Document
URI null or onError; Try Again and Open in Browser
Not reachable on a device: Needs a network fault, crash, race or code change to show
Flow diagram
Sign out
Sign out?
Signing out
Confirm in flight; spinner, buttons and dismissal disabled
Not reachable on a device: Transient loader lasting a moment before Home as guest
Branches and edge cases
Flow diagram
Delete account
Delete Account
Signed out by backend
Profile marked deleted; hook signs user out to guest
Not reachable on a device: Confirming deletes the QA account; never run
Branches and edge cases
Delete Account
Delete request failed
Mutation throws; toast Could not delete account
Not reachable on a device: Needs a network fault, crash, race or code change to show
Delete Account
Result ignored
success false (admin, already deleted) closes with no feedback
Not reachable on a device: Needs a network fault, crash, race or code change to show
Delete Account
Soft delete
Copy says permanently removed; backend only sets accountStatus deleted
Not reachable on a device: Confirming deletes the QA account; never run
Flow diagram
Language switch
Branches and edge cases
Flow diagram
Developer unlock
Branches and edge cases
Flow diagram
Signed-in Profile menu
Branches and edge cases
Edit Profile
Update failed
Toast with server message (taken email or phone) or Failed to update profile
Not reachable on a device: Needs a network fault, crash, race or code change to show
Notification Preferences
Loading your preferences
Centered spinner (progressbar role) until the backend answers; no default toggles are shown
Not captured yet
Contact Us
Failed to Send
Mutation throws; toast Something went wrong
Not reachable on a device: Needs a network fault, crash, race or code change to show
Flow diagram
Screens and states
Choose Your Avatar
Choose Your Avatar
Not captured yet
(modals)/select-avatarChoose Your Avatar
Pick a catalog avatar from a four-column grid.
src/app/(modals)/select-avatar.tsxEntry
- Avatar section in Edit Profile
Exits
- Confirm → Edit Profile
- Close → dismiss without saving
States · 9
src/app/(modals)/select-avatar.tsx:129src/app/(modals)/select-avatar.tsx:146src/app/(modals)/select-avatar.tsx:117src/app/(modals)/select-avatar.tsx:98src/app/(modals)/select-avatar.tsx:129src/app/(modals)/select-avatar.tsx:129src/app/(modals)/select-avatar.tsx:71src/app/(modals)/select-avatar.tsx:117src/app/(modals)/_layout.tsx:61Profile
(app)/(tabs)/profileProfile
Account hub with stats, menu rows, sign out and delete account.
src/app/(app)/(tabs)/profile/index.tsxEntry
- Bottom tab Profile
- Language reload return
- Back fallback from wishlist and contact-us
- Back fallback from edit-profile
Exits
- Pencil → Edit Profile
- Orders stat → Orders
- Stamps stat → Loyalty tab
- Notifications stat → Notifications
- Shopping and Support rows → their screens
- Sign out → sign-out dialog
States · 12
src/app/(app)/(tabs)/profile/index.tsx:170src/features/settings/components/sections/profile-header-card.tsx:168src/app/(app)/(tabs)/profile/index.tsx:96src/app/(app)/(tabs)/profile/index.tsx:358src/features/settings/components/sections/profile-header-card.tsx:98src/app/(app)/(tabs)/profile/index.tsx:235src/app/(app)/(tabs)/profile/index.tsx:239src/features/settings/components/sections/guest-login-card.tsx:46src/app/(app)/(tabs)/profile/index.tsx:148src/app/(app)/(tabs)/profile/index.tsx:336src/app/(app)/(tabs)/profile/index.tsx:247src/app/(app)/(tabs)/profile/index.tsx:421Sign out?
sign-out-dialogSign out?
Confirms sign out. Body says You will need to sign in again.
src/shared/components/ui/dialog/sign-out-confirmation-dialog.tsxEntry
- Sign out button on Profile
Exits
- Cancel → Profile
- Sign out → Home, signed out
States · 2
src/shared/components/ui/dialog/sign-out-confirmation-dialog.tsx:37src/shared/components/ui/dialog/sign-out-confirmation-dialog.tsx:43Delete Account
delete-account-dialogDelete Account
Confirms permanent account deletion with a destructive button.
src/shared/components/ui/feedback/confirmation-dialog.tsxEntry
- Delete Account link on Profile
Exits
- Cancel → Profile
- Delete → request deletion, dialog closes
States · 5
src/app/(app)/(tabs)/profile/index.tsx:315src/app/(app)/(tabs)/profile/index.tsx:322packages/backend/convex/auth/mutations.ts:1157src/features/auth/hooks/use-post-auth-redirect.ts:112packages/backend/convex/auth/mutations.ts:1172Language
Developer Tools
Developer Tools
Needs data: Needs the QA phone on the developer allow-list
developer-toolsDeveloper Tools
Debug rows shown after 10 taps on the version label by the developer phone.
src/features/settings/components/sections/developer-section.tsxEntry
- 10 taps on app version
Exits
- Notification Permission → notification-permission modal
- Login Page (OTP) → auth login
- Profile Completion → profile completion
States · 3
src/features/settings/hooks/use-developer-settings.ts:59src/features/settings/hooks/use-developer-settings.ts:77src/features/settings/components/sections/developer-section.tsx:67App version
app-versionApp version
Shows vX.Y.Z at the foot of Profile; only version display in the app.
src/features/settings/components/app-version.tsxEntry
- Bottom of Profile, signed in
Exits
- Tap x10 → Developer Tools
States · 2
src/app/(app)/(tabs)/profile/index.tsx:432src/features/settings/components/app-version.tsx:39Edit Profile
(app)/edit-profileEdit Profile
Edit name, email, occupation, gender, date of birth and avatar.
src/app/(app)/edit-profile.tsxEntry
- Profile pencil
- Beauty profile
- Select avatar confirm
Exits
- Save → Profile, success toast
- Avatar tap → Select Avatar
- Delivery row → My Addresses
- Back → Profile
States · 11
src/app/(app)/edit-profile.tsx:123src/app/(app)/edit-profile.tsx:136src/app/(app)/edit-profile.tsx:154src/app/(app)/edit-profile.tsx:170src/features/beauty-profile/components/edit-profile-form.tsx:408src/app/(app)/edit-profile.tsx:85src/app/(app)/edit-profile.tsx:93src/features/beauty-profile/schemas/edit-profile-schema.ts:14src/features/beauty-profile/schemas/edit-profile-schema.ts:14src/features/beauty-profile/components/edit-profile-form.tsx:210src/features/beauty-profile/components/edit-profile-form.tsx:327My Addresses
profile/settings/account/addressesMy Addresses
Address book to add, edit, delete and set default.
src/app/(app)/(tabs)/profile/settings/account/addresses.tsxEntry
- Profile My Addresses row
- Edit Profile Delivery row
Exits
- Add new address → address form sheet
- Edit card → address form sheet
- Back → Profile
States · 10
src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:81src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:85src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:191src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:196src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:126src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:138src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:145src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:156src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:165src/app/(app)/(tabs)/profile/settings/account/addresses.tsx:206My Discounts
profile/settings/account/discount-poolMy Discounts
List of earned vouchers with ready and history filters.
src/app/(app)/(tabs)/profile/settings/account/discount-pool.tsxEntry
- Profile My Discounts row
Exits
- Sign in → login sheet
- Start Earning → Loyalty tab
- Back → Profile
States · 8
src/app/(app)/(tabs)/profile/settings/account/discount-pool.tsx:53src/app/(app)/(tabs)/profile/settings/account/discount-pool.tsx:58src/features/vouchers/components/voucher-list.tsx:412src/app/(app)/(tabs)/profile/settings/account/discount-pool.tsx:85src/features/vouchers/components/voucher-list.tsx:368src/features/vouchers/components/voucher-list.tsx:391src/features/vouchers/components/voucher-list.tsx:395src/app/(app)/(tabs)/profile/settings/account/discount-pool.tsx:41


























































