The Profile tab is the central hub for account management in AMS. It combines a visual avatar component with a scrollable menu list that links to every account-related screen in the app. All sub-screens are reachable from a single tap and support back-navigation to the profile root.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Jay-byte389/AMS/llms.txt
Use this file to discover all available pages before exploring further.
ProfileScreen Structure
ProfileScreen is a straightforward composition of two components inside a SafeAreaView:
ProfileMenuList renders the following menu items using ProfileMenuItem (each with an Ionicons icon and a chevron):
| Icon | Label | Destination |
|---|---|---|
person-outline | Profile | EditProfile screen |
heart-outline | Favorite | Home screen |
card-outline | Payment Method | Payment screen |
lock-closed-outline | Privacy Policy | PrivacyPolicy screen |
settings-outline | Settings | Settings screen |
help-circle-outline | Help | HelpCenter screen |
log-out-outline | Logout | Confirmation modal → logoutUser thunk |
All Sections at a Glance
Edit Profile
Update your full name, phone number, email, and date of birth.
Settings
Configure notification preferences, change your password, or delete your account.
Password Manager
Change your current password and link to the Forgot Password flow.
Notification Settings
Toggle individual notification channels such as sound, vibrate, and promo alerts.
Privacy Policy
Read the app’s Terms & Conditions and privacy information.
Help Center
Browse FAQ topics by category or contact support directly.
Edit Profile
Route name:EditProfile
EditProfileScreen renders a ProfileAvatar component at the top followed by a form with four editable fields:
| Field | Default Value | Keyboard Type |
|---|---|---|
| Full Name | "John Doe" | Default |
| Phone Number | "+123 567 89000" | phone-pad |
"johndoe@example.com" | email-address | |
| Date Of Birth | "" (empty) | Default (DD / MM / YYYY placeholder) |
handleUpdate handler. The form state is managed locally with useState; values are pre-populated with stub defaults and should be wired to the Redux auth.user object for a production integration.
Settings
Route name:Settings
SettingScreen renders three SettingsItem rows, each with a 28×28 SVG icon:
Notification Setting
Notification Setting
Navigates to
NotificationSetting screen. Lets users toggle individual notification types on or off.Password Manager
Password Manager
Navigates to
PasswordManager screen. Lets users change their current password.Delete Account
Delete Account
Renders a delete-account option (functionality not yet implemented in the current build).
Password Manager
Route name:PasswordManager
PasswordManager provides a three-field password change form:
<Link screen="SetPassword"> to navigate directly to the SetPassword screen in the auth stack.
Tapping Change Password currently navigates back to Settings. To complete the implementation, wire the handler to call updatePassword from src/services/storage.js with the new password value before navigating.
Notification Settings
Route name:NotificationSetting
NotificationSettingScreen loads notification preferences from AsyncStorage on mount and renders them as a FlatList of toggle rows. Each row shows a label and a custom toggle switch. The initial data comes from src/utils/notificationData.js:
| ID | Title | Default |
|---|---|---|
| 1 | General Notification | Enabled |
| 2 | Sound | Enabled |
| 3 | Sound Call | Enabled |
| 4 | Vibrate | Disabled |
| 5 | Special Offers | Disabled |
| 6 | Payments | Enabled |
| 7 | Promo And Discount | Disabled |
| 8 | Cashback | Enabled |
'notificationSettings' key:
Privacy Policy
Route name:PrivacyPolicy
PrivacyPolicy renders a scrollable document with a Last update date stamp, an introductory paragraph, and a numbered Terms & Conditions list. The list items are sourced from src/utils/privacyData.js, which exports four string items:
{ number }. { description } row with justified text alignment.
Help Center
Route name:HelpCenter
HelpCenterScreen has a two-tab layout — FAQ and Contact Us — with a search bar in the primary-coloured header:
- FAQ
- Contact Us
A horizontal category strip shows three categories from Below the strip, a
src/utils/HelpData.js:FlatList renders all seven FAQ items from faqData. Each question row expands to show its answer when tapped (accordion behaviour driven by expandedId state).Logout
The Logout menu item inProfileMenuList first shows a confirmation modal with Cancel and Yes, Logout buttons. Confirming dispatches logoutUser:
logoutUser thunk calls AsyncStorage.removeItem('@logged_in_user'), which causes the auth session check to return null on the next app launch, sending the user back to the RegisterScreen.